home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1993-06-23 | 18.8 KB | [TEXT/McSk] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, Wed Jun 23 21:03:54 1993, modified Wed Jun 23 21:03:54 1993, creator 'McSk', type ASCII, 18379 bytes "Calculator" , at 0x484b 574 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [McSk] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 43 61 6c 63 75 6c | 61 74 6f 72 00 00 00 00 |..Calcul|ator....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 63 53 | 6b 00 00 00 00 00 00 00 |.TEXTMcS|k.......|
|00000050| 00 00 00 00 00 47 cb 00 | 00 02 3e a8 4e ad fa a8 |.....G..|..>.N...|
|00000060| 4e ad fa 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |N.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 ac b1 00 00 |........|........|
|00000080| 70 61 67 65 20 20 30 20 | 32 38 20 2b 6d 64 20 21 |page 0 |28 +md !|
|00000090| 20 20 28 20 6b 69 6c 6c | 20 65 63 68 6f 20 29 0d | ( kill| echo ).|
|000000a0| 0d 5c 20 41 20 73 69 6d | 70 6c 65 20 52 50 4e 20 |.\ A sim|ple RPN |
|000000b0| 66 6c 6f 61 74 69 6e 67 | 20 70 6f 69 6e 74 20 63 |floating| point c|
|000000c0| 61 6c 63 75 6c 61 74 6f | 72 2e 0d 5c 20 69 6e 63 |alculato|r..\ inc|
|000000d0| 6c 75 64 65 73 20 63 75 | 74 2c 20 63 6f 70 79 2c |ludes cu|t, copy,|
|000000e0| 20 70 61 73 74 65 20 61 | 6e 64 20 75 6e 64 6f 21 | paste a|nd undo!|
|000000f0| 0d 5c 20 70 72 65 73 73 | 20 74 61 62 20 74 6f 20 |.\ press| tab to |
|00000100| 72 65 74 75 72 6e 20 74 | 6f 20 50 6f 63 6b 65 74 |return t|o Pocket|
|00000110| 20 46 6f 72 74 68 2e 0d | 0d 66 6f 72 67 65 74 20 | Forth..|.forget |
|00000120| 74 61 73 6b 20 3a 20 74 | 61 73 6b 20 3b 20 64 65 |task : t|ask ; de|
|00000130| 63 69 6d 61 6c 0d 0d 0d | 5c 20 72 65 63 74 20 73 |cimal...|\ rect s|
|00000140| 74 75 66 66 0d 3a 20 52 | 45 43 54 20 28 20 63 6f |tuff.: R|ECT ( co|
|00000150| 6d 70 69 6c 65 3a 20 2d | 2d 20 29 20 20 5c 20 64 |mpile: -|- ) \ d|
|00000160| 65 66 69 6e 65 20 6e 61 | 6d 65 64 20 73 74 6f 72 |efine na|med stor|
|00000170| 61 67 65 20 66 6f 72 20 | 72 65 63 74 20 73 74 72 |age for |rect str|
|00000180| 75 63 74 75 72 65 0d 20 | 20 20 20 20 20 20 28 20 |ucture. | ( |
|00000190| 72 75 6e 3a 20 2d 2d 20 | 61 64 64 72 20 29 20 76 |run: -- |addr ) v|
|000001a0| 61 72 69 61 62 6c 65 20 | 36 20 61 6c 6c 6f 74 20 |ariable |6 allot |
|000001b0| 3b 0d 3a 20 21 52 45 43 | 54 20 28 20 74 20 6c 20 |;.: !REC|T ( t l |
|000001c0| 62 20 72 20 61 64 64 72 | 20 2d 2d 20 29 20 20 5c |b r addr| -- ) \|
|000001d0| 20 73 65 74 20 72 65 63 | 74 20 64 61 74 61 0d 20 | set rec|t data. |
|000001e0| 20 20 20 3e 72 20 20 73 | 77 61 70 20 72 20 34 20 | >r s|wap r 4 |
|000001f0| 2b 20 32 21 20 20 73 77 | 61 70 20 72 3e 20 32 21 |+ 2! sw|ap r> 2!|
|00000200| 20 3b 0d 3a 20 52 45 52 | 41 53 45 20 28 20 72 65 | ;.: RER|ASE ( re|
|00000210| 63 74 20 2d 2d 20 29 20 | 61 3e 72 20 2c 24 20 41 |ct -- ) |a>r ,$ A|
|00000220| 38 41 33 20 28 20 5f 45 | 72 61 73 65 52 65 63 74 |8A3 ( _E|raseRect|
|00000230| 20 29 20 3b 0d 3a 20 52 | 46 52 41 4d 45 20 28 20 | ) ;.: R|FRAME ( |
|00000240| 72 65 63 74 20 2d 2d 20 | 29 20 61 3e 72 20 2c 24 |rect -- |) a>r ,$|
|00000250| 20 41 38 41 31 20 28 20 | 5f 46 72 61 6d 65 52 65 | A8A1 ( |_FrameRe|
|00000260| 63 74 20 29 20 3b 0d 3a | 20 52 43 4c 49 50 20 28 |ct ) ;.:| RCLIP (|
|00000270| 20 72 65 63 74 20 2d 2d | 20 29 20 61 3e 72 20 2c | rect --| ) a>r ,|
|00000280| 24 20 41 38 37 42 20 28 | 20 5f 43 6c 69 70 52 65 |$ A87B (| _ClipRe|
|00000290| 63 74 20 29 20 3b 0d 0d | 5c 20 77 69 6e 64 6f 77 |ct ) ;..|\ window|
|000002a0| 20 73 74 75 66 66 0d 3a | 20 57 49 4e 44 4f 57 20 | stuff.:| WINDOW |
|000002b0| 28 20 2d 2d 20 64 20 29 | 20 30 20 2b 6d 64 20 32 |( -- d )| 0 +md 2|
|000002c0| 40 20 3b 20 5c 20 64 20 | 3d 20 77 69 6e 64 6f 77 |@ ; \ d |= window|
|000002d0| 20 70 6f 69 6e 74 65 72 | 0d 3a 20 57 53 49 5a 45 | pointer|.: WSIZE|
|000002e0| 20 28 20 68 20 76 20 2d | 2d 20 29 20 20 5c 20 63 | ( h v -|- ) \ c|
|000002f0| 68 61 6e 67 65 20 74 68 | 65 20 77 69 6e 64 6f 77 |hange th|e window|
|00000300| 20 73 69 7a 65 0d 20 20 | 20 20 32 64 75 70 20 20 | size. | 2dup |
|00000310| 38 20 2b 6d 64 20 32 21 | 20 20 5c 20 73 65 74 20 |8 +md 2!| \ set |
|00000320| 74 68 65 20 73 63 72 6f | 6c 6c 20 72 65 63 74 20 |the scro|ll rect |
|00000330| 0d 20 20 20 20 77 69 6e | 64 6f 77 20 32 3e 72 20 |. win|dow 2>r |
|00000340| 20 32 3e 72 20 20 32 35 | 36 20 3e 72 20 20 2c 24 | 2>r 25|6 >r ,$|
|00000350| 20 41 39 31 44 20 28 20 | 5f 53 69 7a 65 57 69 6e | A91D ( |_SizeWin|
|00000360| 64 6f 77 20 29 0d 20 20 | 20 20 34 20 2b 6d 64 20 |dow ). | 4 +md |
|00000370| 72 63 6c 69 70 20 3b 20 | 20 20 5c 20 73 65 74 20 |rclip ; | \ set |
|00000380| 64 72 61 77 69 6e 67 20 | 72 65 63 74 20 74 6f 20 |drawing |rect to |
|00000390| 77 68 6f 6c 65 20 77 69 | 6e 64 6f 77 0d 3a 20 57 |whole wi|ndow.: W|
|000003a0| 54 49 54 4c 45 20 28 20 | 73 74 72 69 6e 67 2e 61 |TITLE ( |string.a|
|000003b0| 64 64 72 20 2d 2d 20 29 | 20 5c 20 73 65 74 20 74 |ddr -- )| \ set t|
|000003c0| 68 65 20 77 69 6e 64 6f | 77 20 74 69 74 6c 65 0d |he windo|w title.|
|000003d0| 20 20 20 20 77 69 6e 64 | 6f 77 20 32 3e 72 20 61 | wind|ow 2>r a|
|000003e0| 3e 72 20 2c 24 20 41 39 | 31 41 20 28 20 5f 53 65 |>r ,$ A9|1A ( _Se|
|000003f0| 74 57 54 69 74 6c 65 20 | 29 20 3b 0d 0d 5c 20 66 |tWTitle |) ;..\ f|
|00000400| 6f 6e 74 20 73 74 75 66 | 66 0d 3a 20 21 46 4f 4e |ont stuf|f.: !FON|
|00000410| 54 20 28 20 6e 20 2d 2d | 20 29 20 3e 72 20 2c 24 |T ( n --| ) >r ,$|
|00000420| 20 41 38 38 37 20 28 20 | 5f 54 65 78 74 46 6f 6e | A887 ( |_TextFon|
|00000430| 74 20 29 20 3b 20 6d 61 | 63 72 6f 20 20 5c 20 73 |t ) ; ma|cro \ s|
|00000440| 65 74 20 66 6f 6e 74 0d | 3a 20 21 46 53 49 5a 45 |et font.|: !FSIZE|
|00000450| 20 28 20 6e 20 2d 2d 20 | 29 20 3e 72 20 2c 24 20 | ( n -- |) >r ,$ |
|00000460| 41 38 38 41 20 28 20 5f | 54 65 78 74 53 69 7a 65 |A88A ( _|TextSize|
|00000470| 20 29 20 3b 20 6d 61 63 | 72 6f 20 20 5c 20 73 65 | ) ; mac|ro \ se|
|00000480| 74 20 73 69 7a 65 0d 3a | 20 21 46 41 43 45 20 28 |t size.:| !FACE (|
|00000490| 20 66 61 63 65 20 2d 2d | 20 29 20 3e 72 20 2c 24 | face --| ) >r ,$|
|000004a0| 20 41 38 38 38 20 28 20 | 5f 54 65 78 74 46 61 63 | A888 ( |_TextFac|
|000004b0| 65 20 29 20 3b 20 6d 61 | 63 72 6f 20 5c 20 73 65 |e ) ; ma|cro \ se|
|000004c0| 74 20 73 74 79 6c 65 0d | 3a 20 21 46 4d 4f 44 45 |t style.|: !FMODE|
|000004d0| 20 28 20 6d 6f 64 65 20 | 2d 2d 20 29 20 3e 72 20 | ( mode |-- ) >r |
|000004e0| 2c 24 20 41 38 38 39 20 | 28 20 5f 54 65 78 74 4d |,$ A889 |( _TextM|
|000004f0| 6f 64 65 20 29 20 3b 20 | 6d 61 63 72 6f 20 5c 20 |ode ) ; |macro \ |
|00000500| 73 65 74 20 6d 6f 64 65 | 0d 3a 20 53 59 53 46 4f |set mode|.: SYSFO|
|00000510| 4e 54 20 28 20 2d 2d 20 | 29 20 30 20 21 66 6f 6e |NT ( -- |) 0 !fon|
|00000520| 74 20 20 31 32 20 21 66 | 73 69 7a 65 20 3b 20 20 |t 12 !f|size ; |
|00000530| 5c 20 73 65 74 20 53 79 | 73 74 65 6d 20 66 6f 6e |\ set Sy|stem fon|
|00000540| 74 0d 3a 20 4d 4f 4e 41 | 43 4f 39 20 28 20 2d 2d |t.: MONA|CO9 ( --|
|00000550| 20 29 20 34 20 21 66 6f | 6e 74 20 20 30 39 20 21 | ) 4 !fo|nt 09 !|
|00000560| 66 73 69 7a 65 20 20 30 | 20 21 66 6d 6f 64 65 20 |fsize 0| !fmode |
|00000570| 3b 20 20 5c 20 73 65 74 | 20 4e 6f 72 6d 61 6c 20 |; \ set| Normal |
|00000580| 66 6f 6e 74 0d 0d 5c 20 | 6f 6c 64 20 73 74 79 6c |font..\ |old styl|
|00000590| 65 20 28 69 65 20 65 61 | 73 79 29 20 63 6f 6c 6f |e (ie ea|sy) colo|
|000005a0| 72 20 73 74 75 66 66 0d | 3a 20 42 4c 41 43 4b 20 |r stuff.|: BLACK |
|000005b0| 20 33 33 20 30 20 32 3e | 72 20 2c 24 20 41 38 36 | 33 0 2>|r ,$ A86|
|000005c0| 32 20 28 20 5f 46 6f 72 | 65 43 6f 6c 6f 72 20 29 |2 ( _For|eColor )|
|000005d0| 20 3b 20 20 5c 20 62 6c | 61 63 6b 0d 3a 20 52 45 | ; \ bl|ack.: RE|
|000005e0| 44 20 20 20 32 30 35 20 | 30 20 32 3e 72 20 2c 24 |D 205 |0 2>r ,$|
|000005f0| 20 41 38 36 32 20 28 20 | 5f 46 6f 72 65 43 6f 6c | A862 ( |_ForeCol|
|00000600| 6f 72 20 29 20 3b 20 20 | 5c 20 72 65 64 0d 3a 20 |or ) ; |\ red.: |
|00000610| 42 4c 55 45 20 20 34 30 | 39 20 30 20 32 3e 72 20 |BLUE 40|9 0 2>r |
|00000620| 2c 24 20 41 38 36 32 20 | 28 20 5f 46 6f 72 65 43 |,$ A862 |( _ForeC|
|00000630| 6f 6c 6f 72 20 29 20 3b | 20 20 5c 20 62 6c 75 65 |olor ) ;| \ blue|
|00000640| 0d 0d 5c 20 73 74 72 69 | 6e 67 20 73 74 75 66 66 |..\ stri|ng stuff|
|00000650| 0d 3a 20 3f 44 45 46 49 | 4e 49 4e 47 20 28 20 2d |.: ?DEFI|NING ( -|
|00000660| 2d 20 66 6c 61 67 20 29 | 20 63 73 74 61 74 65 20 |- flag )| cstate |
|00000670| 63 40 20 3b 20 20 20 20 | 20 5c 20 74 72 75 65 20 |c@ ; | \ true |
|00000680| 69 66 20 64 65 66 69 6e | 69 6e 67 0d 3a 20 41 53 |if defin|ing.: AS|
|00000690| 43 49 49 20 28 20 2d 2d | 20 63 20 29 20 33 32 20 |CII ( --| c ) 32 |
|000006a0| 77 6f 72 64 20 68 65 72 | 65 20 31 2b 20 63 40 20 |word her|e 1+ c@ |
|000006b0| 20 20 20 20 5c 20 63 20 | 3d 20 61 73 63 69 69 20 | \ c |= ascii |
|000006c0| 6f 66 20 6e 65 78 74 20 | 63 68 61 72 61 63 74 65 |of next |characte|
|000006d0| 72 0d 20 20 20 20 3f 64 | 65 66 69 6e 69 6e 67 20 |r. ?d|efining |
|000006e0| 49 46 20 6c 69 74 65 72 | 61 6c 20 54 48 45 4e 20 |IF liter|al THEN |
|000006f0| 3b 20 49 4d 4d 45 44 49 | 41 54 45 0d 3a 20 45 56 |; IMMEDI|ATE.: EV|
|00000700| 45 4e 20 28 20 6e 20 2d | 2d 20 6e 27 20 29 20 64 |EN ( n -|- n' ) d|
|00000710| 75 70 20 32 20 6d 6f 64 | 20 2b 20 3b 20 20 20 20 |up 2 mod| + ; |
|00000720| 20 20 20 20 5c 20 72 6f | 75 6e 64 20 75 70 20 74 | \ ro|und up t|
|00000730| 6f 20 65 76 65 6e 20 6e | 75 6d 62 65 72 0d 3a 20 |o even n|umber.: |
|00000740| 2c 22 20 28 20 2d 2d 20 | 29 20 20 20 61 73 63 69 |," ( -- |) asci|
|00000750| 69 20 22 20 77 6f 72 64 | 20 20 20 20 20 20 20 20 |i " word| |
|00000760| 20 20 20 20 20 20 5c 20 | 67 65 74 20 61 20 71 75 | \ |get a qu|
|00000770| 6f 74 65 64 20 73 74 72 | 69 6e 67 0d 20 20 20 20 |oted str|ing. |
|00000780| 68 65 72 65 20 63 40 20 | 31 2b 20 65 76 65 6e 20 |here c@ |1+ even |
|00000790| 61 6c 6c 6f 74 20 3b 20 | 49 4d 4d 45 44 49 41 54 |allot ; |IMMEDIAT|
|000007a0| 45 0d 0d 5c 20 6d 65 6d | 6f 72 79 20 73 74 75 66 |E..\ mem|ory stuf|
|000007b0| 66 3a 20 6d 61 63 72 6f | 73 20 61 6e 64 20 63 72 |f: macro|s and cr|
|000007c0| 65 61 74 65 2f 64 69 73 | 70 6f 73 65 20 6f 66 20 |eate/dis|pose of |
|000007d0| 68 61 6e 64 6c 65 73 0d | 3a 20 3e 44 30 20 28 20 |handles.|: >D0 ( |
|000007e0| 6e 20 2d 2d 20 29 20 2c | 24 20 34 32 38 30 20 2c |n -- ) ,|$ 4280 ,|
|000007f0| 24 20 33 30 31 45 20 3b | 20 6d 61 63 72 6f 20 20 |$ 301E ;| macro |
|00000800| 5c 20 63 6c 72 2e 6c 20 | 64 30 20 20 6d 6f 76 65 |\ clr.l |d0 move|
|00000810| 20 28 61 36 29 2b 2c 64 | 30 0d 3a 20 3e 41 30 20 | (a6)+,d|0.: >A0 |
|00000820| 28 20 64 20 2d 2d 20 29 | 20 2c 24 20 32 30 35 45 |( d -- )| ,$ 205E|
|00000830| 20 3b 20 6d 61 63 72 6f | 20 20 20 20 20 20 20 20 | ; macro| |
|00000840| 20 20 5c 20 6d 6f 76 65 | 61 2e 6c 20 28 61 36 29 | \ move|a.l (a6)|
|00000850| 2b 2c 61 30 0d 3a 20 3e | 41 31 20 28 20 64 20 2d |+,a0.: >|A1 ( d -|
|00000860| 2d 20 29 20 2c 24 20 32 | 32 35 45 20 3b 20 6d 61 |- ) ,$ 2|25E ; ma|
|00000870| 63 72 6f 20 20 20 20 20 | 20 20 20 20 20 28 20 6d |cro | ( m|
|00000880| 6f 76 65 61 2e 6c 20 20 | 20 20 20 20 20 20 5b 61 |ovea.l | [a|
|00000890| 36 5d 2b 2c 61 30 20 29 | 0d 3a 20 44 30 3e 20 28 |6]+,a0 )|.: D0> (|
|000008a0| 20 2d 2d 20 6e 20 29 20 | 2c 24 20 33 44 30 30 20 | -- n ) |,$ 3D00 |
|000008b0| 3b 20 6d 61 63 72 6f 20 | 20 20 20 20 20 20 20 20 |; macro | |
|000008c0| 20 5c 20 6d 6f 76 65 20 | 64 30 2c 2d 28 61 36 29 | \ move |d0,-(a6)|
|000008d0| 0d 3a 20 41 30 3e 20 28 | 20 2d 2d 20 64 20 29 20 |.: A0> (| -- d ) |
|000008e0| 2c 24 20 32 44 30 38 20 | 3b 20 6d 61 63 72 6f 20 |,$ 2D08 |; macro |
|000008f0| 20 20 20 20 20 20 20 20 | 20 5c 20 6d 6f 76 65 2e | | \ move.|
|00000900| 6c 20 61 30 2c 2d 28 61 | 36 29 0d 3a 20 48 4e 45 |l a0,-(a|6).: HNE|
|00000910| 57 20 28 20 73 69 7a 65 | 20 2d 2d 20 68 61 6e 64 |W ( size| -- hand|
|00000920| 6c 65 20 29 20 5c 20 63 | 72 65 61 74 65 20 61 20 |le ) \ c|reate a |
|00000930| 6e 65 77 20 68 61 6e 64 | 6c 65 0d 20 20 20 20 3e |new hand|le. >|
|00000940| 64 30 20 2c 24 20 41 31 | 32 32 20 28 20 5f 4e 65 |d0 ,$ A1|22 ( _Ne|
|00000950| 77 48 61 6e 64 6c 65 20 | 29 20 20 20 20 20 20 20 |wHandle |) |
|00000960| 20 20 20 5c 20 63 72 65 | 61 74 65 20 61 20 62 6c | \ cre|ate a bl|
|00000970| 6f 63 6b 0d 20 20 20 20 | 61 30 3e 20 64 30 3e 20 |ock. |a0> d0> |
|00000980| 49 46 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |IF | |
|00000990| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 63 68 | | \ ch|
|000009a0| 65 63 6b 20 66 6f 72 20 | 65 72 72 6f 72 0d 20 20 |eck for |error. |
|000009b0| 20 20 20 20 62 65 65 70 | 20 32 72 3e 20 32 64 72 | beep| 2r> 2dr|
|000009c0| 6f 70 20 65 78 69 74 20 | 54 48 45 4e 20 3b 20 20 |op exit |THEN ; |
|000009d0| 20 20 20 20 20 20 5c 20 | 62 65 65 70 20 26 20 73 | \ |beep & s|
|000009e0| 6b 69 70 20 65 6e 63 6c | 6f 73 69 6e 67 20 77 6f |kip encl|osing wo|
|000009f0| 72 64 0d 3a 20 48 44 49 | 53 50 20 28 20 68 61 6e |rd.: HDI|SP ( han|
|00000a00| 64 6c 65 20 2d 2d 20 29 | 20 20 20 20 20 5c 20 67 |dle -- )| \ g|
|00000a10| 65 74 20 72 69 64 20 6f | 66 20 61 20 68 61 6e 64 |et rid o|f a hand|
|00000a20| 6c 65 0d 20 20 20 20 3e | 61 30 20 2c 24 20 41 30 |le. >|a0 ,$ A0|
|00000a30| 32 33 20 28 20 5f 44 69 | 73 70 6f 73 48 61 6e 64 |23 ( _Di|sposHand|
|00000a40| 6c 65 20 29 20 3b 0d 3a | 20 42 4d 4f 56 45 20 28 |le ) ;.:| BMOVE (|
|00000a50| 20 64 2e 66 72 6f 6d 20 | 64 2e 74 6f 20 6e 20 2d | d.from |d.to n -|
|00000a60| 2d 20 29 20 5c 20 6d 6f | 76 65 20 6e 20 62 79 74 |- ) \ mo|ve n byt|
|00000a70| 65 73 20 64 2e 66 72 6f | 6d 20 2d 3e 20 64 2e 74 |es d.fro|m -> d.t|
|00000a80| 6f 0d 20 20 20 20 3e 64 | 30 20 3e 61 31 20 3e 61 |o. >d|0 >a1 >a|
|00000a90| 30 20 2c 24 20 41 30 32 | 45 20 28 20 5f 42 6c 6f |0 ,$ A02|E ( _Blo|
|00000aa0| 63 6b 4d 6f 76 65 20 29 | 20 3b 0d 0d 5c 20 73 74 |ckMove )| ;..\ st|
|00000ab0| 61 63 6b 20 63 68 65 63 | 6b 69 6e 67 0d 3a 20 4e |ack chec|king.: N|
|00000ac0| 45 45 44 53 20 28 20 6e | 20 2d 2d 20 66 6c 61 67 |EEDS ( n| -- flag|
|00000ad0| 20 29 20 64 65 70 74 68 | 20 31 2d 20 3e 20 3b 20 | ) depth| 1- > ; |
|00000ae0| 20 5c 20 74 72 75 65 20 | 69 66 20 6c 65 73 73 20 | \ true |if less |
|00000af0| 74 68 61 6e 20 6e 20 69 | 74 65 6d 73 20 6f 6e 20 |than n i|tems on |
|00000b00| 73 74 61 63 6b 0d 3a 20 | 3f 4f 56 45 52 46 4c 4f |stack.: |?OVERFLO|
|00000b10| 57 20 28 20 2d 2d 20 66 | 6c 61 67 20 29 20 31 30 |W ( -- f|lag ) 10|
|00000b20| 30 30 20 6e 65 65 64 73 | 20 3b 20 5c 20 74 72 75 |00 needs| ; \ tru|
|00000b30| 65 20 69 66 20 73 74 61 | 63 6b 20 69 73 20 6e 6f |e if sta|ck is no|
|00000b40| 74 20 6f 76 65 72 66 6c | 6f 77 69 6e 67 20 20 20 |t overfl|owing |
|00000b50| 0d 0d 5c 20 62 65 20 73 | 75 72 65 20 31 20 6f 72 |..\ be s|ure 1 or|
|00000b60| 20 32 20 66 70 20 6e 75 | 6d 62 65 72 73 20 61 72 | 2 fp nu|mbers ar|
|00000b70| 65 20 6f 6e 20 74 68 65 | 20 73 74 61 63 6b 20 66 |e on the| stack f|
|00000b80| 6f 72 20 6f 70 65 72 61 | 74 69 6f 6e 73 0d 3a 20 |or opera|tions.: |
|00000b90| 55 4e 41 52 59 20 28 20 | 3f 20 2d 2d 20 66 20 29 |UNARY ( |? -- f )|
|00000ba0| 20 35 20 6e 65 65 64 73 | 20 49 46 20 20 30 2e 30 | 5 needs| IF 0.0|
|00000bb0| 20 20 54 48 45 4e 20 3b | 20 5c 20 6f 70 65 72 61 | THEN ;| \ opera|
|00000bc0| 74 69 6f 6e 20 72 65 71 | 75 69 72 65 73 20 31 20 |tion req|uires 1 |
|00000bd0| 61 72 67 2e 0d 3a 20 42 | 49 4e 41 52 59 20 28 20 |arg..: B|INARY ( |
|00000be0| 3f 20 2d 2d 20 66 31 20 | 66 32 20 29 20 31 30 20 |? -- f1 |f2 ) 10 |
|00000bf0| 6e 65 65 64 73 20 49 46 | 20 20 75 6e 61 72 79 20 |needs IF| unary |
|00000c00| 30 2e 30 20 66 73 77 61 | 70 20 20 54 48 45 4e 20 |0.0 fswa|p THEN |
|00000c10| 3b 20 5c 20 32 20 61 72 | 67 73 2e 0d 0d 5c 20 66 |; \ 2 ar|gs...\ f|
|00000c20| 70 20 63 6f 6d 70 61 72 | 69 73 6f 6e 0d 3a 20 46 |p compar|ison.: F|
|00000c30| 43 20 28 20 66 31 20 66 | 32 20 2d 2d 20 74 72 69 |C ( f1 f|2 -- tri|
|00000c40| 73 74 61 74 65 2e 66 6c | 61 67 20 29 20 66 63 6f |state.fl|ag ) fco|
|00000c50| 6d 70 61 72 65 20 3e 72 | 20 66 64 72 6f 70 20 66 |mpare >r| fdrop f|
|00000c60| 64 72 6f 70 20 72 3e 20 | 3b 0d 3a 20 46 30 3d 20 |drop r> |;.: F0= |
|00000c70| 28 20 66 20 2d 2d 20 66 | 6c 61 67 20 29 20 30 2e |( f -- f|lag ) 0.|
|00000c80| 30 20 66 63 20 30 3d 20 | 3b 20 20 5c 20 74 72 75 |0 fc 0= |; \ tru|
|00000c90| 65 20 69 66 20 66 3d 30 | 0d 3a 20 46 3e 20 28 20 |e if f=0|.: F> ( |
|00000ca0| 66 31 20 66 32 20 2d 2d | 20 66 6c 61 67 20 29 20 |f1 f2 --| flag ) |
|00000cb0| 66 63 20 30 3e 20 3b 20 | 20 20 5c 20 74 72 75 65 |fc 0> ; | \ true|
|00000cc0| 20 69 66 20 66 31 3e 66 | 32 0d 3a 20 46 3c 20 28 | if f1>f|2.: F< (|
|00000cd0| 20 66 31 20 66 32 20 2d | 2d 20 66 6c 61 67 20 29 | f1 f2 -|- flag )|
|00000ce0| 20 66 63 20 30 3c 20 3b | 20 20 20 5c 20 74 72 75 | fc 0< ;| \ tru|
|00000cf0| 65 20 69 66 20 66 31 3c | 66 32 0d 0d 5c 20 74 72 |e if f1<|f2..\ tr|
|00000d00| 61 6e 63 65 6e 64 65 6e | 74 61 6c 20 66 75 6e 63 |ancenden|tal func|
|00000d10| 74 69 6f 6e 73 20 28 6e | 6f 74 20 69 6e 63 6c 75 |tions (n|ot inclu|
|00000d20| 64 65 64 20 69 6e 20 50 | 6f 63 6b 65 74 20 46 6f |ded in P|ocket Fo|
|00000d30| 72 74 68 29 0d 3a 20 41 | 43 4f 53 20 28 20 66 20 |rth).: A|COS ( f |
|00000d40| 2d 2d 20 61 63 6f 73 5b | 66 5d 20 29 20 5c 20 53 |-- acos[|f] ) \ S|
|00000d50| 65 65 20 41 70 70 6c 65 | 20 4e 75 6d 65 72 69 63 |ee Apple| Numeric|
|00000d60| 73 20 4d 61 6e 75 61 6c | 2c 20 32 6e 64 20 65 64 |s Manual|, 2nd ed|
|00000d70| 2e 0d 20 20 20 20 66 64 | 75 70 20 31 2e 30 20 66 |.. fd|up 1.0 f|
|00000d80| 73 77 61 70 20 66 2d 20 | 66 73 77 61 70 20 31 2e |swap f- |fswap 1.|
|00000d90| 30 20 66 2b 20 66 2f 20 | 66 73 71 72 74 20 66 61 |0 f+ f/ |fsqrt fa|
|00000da0| 74 6e 20 32 2e 30 20 66 | 2a 20 3b 0d 3a 20 41 53 |tn 2.0 f|* ;.: AS|
|00000db0| 49 4e 20 28 20 66 20 2d | 2d 20 61 73 69 6e 5b 66 |IN ( f -|- asin[f|
|00000dc0| 5d 20 29 20 5c 20 53 65 | 65 20 41 70 70 6c 65 20 |] ) \ Se|e Apple |
|00000dd0| 4e 75 6d 65 72 69 63 73 | 20 4d 61 6e 75 61 6c 2c |Numerics| Manual,|
|00000de0| 20 32 6e 64 20 65 64 2e | 0d 20 20 20 20 66 64 75 | 2nd ed.|. fdu|
|00000df0| 70 20 66 61 62 73 20 31 | 2e 31 36 34 31 35 33 32 |p fabs 1|.1641532|
|00000e00| 31 38 32 37 65 2d 31 30 | 20 66 63 6f 6d 70 61 72 |1827e-10| fcompar|
|00000e10| 65 20 3e 72 20 66 64 72 | 6f 70 20 72 3e 20 30 3e |e >r fdr|op r> 0>|
|00000e20| 20 49 46 0d 20 20 20 20 | 20 20 66 64 75 70 20 30 | IF. | fdup 0|
|00000e30| 2e 35 20 66 63 6f 6d 70 | 61 72 65 20 3e 72 20 66 |.5 fcomp|are >r f|
|00000e40| 64 72 6f 70 20 66 64 72 | 6f 70 20 72 3e 20 30 3e |drop fdr|op r> 0>|
|00000e50| 20 49 46 0d 20 20 20 20 | 20 20 20 20 31 2e 20 66 | IF. | 1. f|
|00000e60| 73 77 61 70 20 66 2d 20 | 20 66 64 75 70 20 32 2e |swap f- | fdup 2.|
|00000e70| 20 66 2a 20 66 73 77 61 | 70 20 66 64 75 70 20 66 | f* fswa|p fdup f|
|00000e80| 2a 20 66 2d 20 20 45 4c | 53 45 0d 20 20 20 20 20 |* f- EL|SE. |
|00000e90| 20 20 20 31 2e 20 66 73 | 77 61 70 20 66 64 75 70 | 1. fs|wap fdup|
|00000ea0| 20 66 2a 20 66 2d 20 20 | 54 48 45 4e 0d 20 20 20 | f* f- |THEN. |
|00000eb0| 20 20 20 66 73 71 72 74 | 20 66 2f 20 66 61 74 6e | fsqrt| f/ fatn|
|00000ec0| 20 20 45 4c 53 45 0d 20 | 20 20 20 20 20 66 64 72 | ELSE. | fdr|
|00000ed0| 6f 70 20 20 54 48 45 4e | 20 3b 0d 3a 20 50 49 20 |op THEN| ;.: PI |
|00000ee0| 28 20 2d 2d 20 66 20 29 | 20 30 2e 30 20 61 63 6f |( -- f )| 0.0 aco|
|00000ef0| 73 20 32 2e 30 20 66 2a | 20 3b 20 20 20 20 5c 20 |s 2.0 f*| ; \ |
|00000f00| 33 2e 31 34 31 35 39 32 | 36 35 33 35 38 39 37 39 |3.141592|65358979|
|00000f10| 33 32 34 0d 3a 20 44 2f | 52 20 28 20 2d 2d 20 66 |324.: D/|R ( -- f|
|00000f20| 20 29 20 33 36 30 2e 20 | 70 69 20 32 2e 30 20 66 | ) 360. |pi 2.0 f|
|00000f30| 2a 20 66 2f 20 3b 20 5c | 20 64 65 67 72 65 65 73 |* f/ ; \| degrees|
|00000f40| 2f 72 61 64 69 61 6e 0d | 0d 3a 20 4c 4f 47 20 28 |/radian.|.: LOG (|
|00000f50| 20 66 20 2d 2d 20 6c 6f | 67 66 20 29 20 66 6c 6e | f -- lo|gf ) fln|
|00000f60| 20 31 30 2e 20 66 6c 6e | 20 66 2f 20 3b 20 20 5c | 10. fln| f/ ; \|
|00000f70| 20 6c 6f 67 20 62 61 73 | 65 20 31 30 0d 5c 20 3a | log bas|e 10.\ :|
|00000f80| 20 45 20 28 20 2d 2d 20 | 66 2e 65 20 20 20 37 2e | E ( -- |f.e 7.|
|00000f90| 30 20 66 64 75 70 20 66 | 6c 6e 20 31 2e 30 20 66 |0 fdup f|ln 1.0 f|
|00000fa0| 73 77 61 70 20 66 2f 20 | 66 5e 20 3b 20 20 5c 20 |swap f/ |f^ ; \ |
|00000fb0| 45 75 6c 65 72 27 73 20 | 6e 75 6d 62 65 72 0d 0d |Euler's |number..|
|00000fc0| 5c 20 63 6f 6d 70 69 6c | 65 20 74 69 6d 65 20 74 |\ compil|e time t|
|00000fd0| 69 63 6b 69 6e 67 20 20 | 53 65 65 20 66 69 6c 65 |icking |See file|
|00000fe0| 20 22 55 73 69 6e 67 20 | 53 74 61 72 74 69 6e 67 | "Using |Starting|
|00000ff0| 20 46 6f 72 74 68 22 2e | 0d 3a 20 5b 27 5d 20 28 | Forth".|.: ['] (|
|00001000| 20 2d 2d 20 61 64 64 72 | 20 29 20 5c 20 6f 66 20 | -- addr| ) \ of |
|00001010| 74 68 65 20 6e 65 78 74 | 20 77 6f 72 64 20 69 6e |the next| word in|
|00001020| 20 61 20 63 6f 6c 6f 6e | 20 64 65 66 69 6e 69 74 | a colon| definit|
|00001030| 69 6f 6e 0d 20 20 20 20 | 74 6f 6b 65 6e 20 6c 61 |ion. |token la|
|00001040| 74 65 73 74 20 73 65 61 | 72 63 68 20 49 46 20 6c |test sea|rch IF l|
|00001050| 69 74 65 72 61 6c 0d 20 | 20 20 20 45 4c 53 45 20 |iteral. | ELSE |
|00001060| 20 68 65 72 65 20 63 6f | 75 6e 74 20 74 79 70 65 | here co|unt type|
|00001070| 20 73 70 61 63 65 20 2e | 22 20 6e 6f 74 20 66 6f | space .|" not fo|
|00001080| 75 6e 64 2e 22 20 61 62 | 6f 72 74 0d 20 20 20 20 |und." ab|ort. |
|00001090| 54 48 45 4e 20 3b 20 49 | 4d 4d 45 44 49 41 54 45 |THEN ; I|MMEDIATE|
|000010a0| 0d 0d 0d 5c 20 2a 2a 2a | 20 41 70 70 6c 69 63 61 |...\ ***| Applica|
|000010b0| 74 69 6f 6e 20 53 70 65 | 63 69 66 69 63 20 70 61 |tion Spe|cific pa|
|000010c0| 72 74 20 66 6f 6c 6c 6f | 77 73 20 2a 2a 2a 0d 0d |rt follo|ws ***..|
|000010d0| 5c 20 73 6f 6d 65 20 72 | 65 63 74 73 20 66 6f 72 |\ some r|ects for|
|000010e0| 20 64 72 61 77 69 6e 67 | 0d 72 65 63 74 20 55 50 | drawing|.rect UP|
|000010f0| 50 45 52 5f 52 45 43 54 | 20 20 20 20 30 20 20 20 |PER_RECT| 0 |
|00001100| 30 20 20 37 35 20 32 30 | 31 20 75 70 70 65 72 5f |0 75 20|1 upper_|
|00001110| 72 65 63 74 20 21 72 65 | 63 74 20 20 20 5c 20 73 |rect !re|ct \ s|
|00001120| 74 61 63 6b 20 61 72 65 | 61 20 77 69 6e 64 6f 77 |tack are|a window|
|00001130| 0d 72 65 63 74 20 4d 41 | 52 47 49 4e 5f 52 45 43 |.rect MA|RGIN_REC|
|00001140| 54 20 20 20 38 20 20 20 | 37 20 20 39 37 20 31 38 |T 8 |7 97 18|
|00001150| 35 20 6d 61 72 67 69 6e | 5f 72 65 63 74 20 21 72 |5 margin|_rect !r|
|00001160| 65 63 74 20 20 5c 20 6c | 65 61 76 65 20 61 20 6d |ect \ l|eave a m|
|00001170| 61 72 67 69 6e 0d 72 65 | 63 74 20 42 55 46 46 45 |argin.re|ct BUFFE|
|00001180| 52 5f 52 45 43 54 20 20 | 37 35 20 20 31 30 20 20 |R_RECT |75 10 |
|00001190| 39 35 20 31 37 35 20 62 | 75 66 66 65 72 5f 72 65 |95 175 b|uffer_re|
|000011a0| 63 74 20 21 72 65 63 74 | 20 20 5c 20 69 6e 70 75 |ct !rect| \ inpu|
|000011b0| 74 20 62 75 66 66 65 72 | 20 72 65 63 74 0d 0d 5c |t buffer| rect..\|
|000011c0| 20 77 69 6e 64 6f 77 20 | 74 69 74 6c 65 73 0d 63 | window |titles.c|
|000011d0| 72 65 61 74 65 20 22 50 | 4f 43 4b 45 54 46 4f 52 |reate "P|OCKETFOR|
|000011e0| 54 48 22 20 20 2c 22 20 | 50 6f 63 6b 65 74 20 46 |TH" ," |Pocket F|
|000011f0| 6f 72 74 68 22 0d 63 72 | 65 61 74 65 20 22 43 41 |orth".cr|eate "CA|
|00001200| 4c 43 55 4c 41 54 4f 52 | 22 20 20 20 2c 22 20 43 |LCULATOR|" ," C|
|00001210| 61 6c 63 75 6c 61 74 6f | 72 22 0d 0d 5c 20 64 69 |alculato|r"..\ di|
|00001220| 73 70 6c 61 79 20 74 68 | 65 20 73 74 61 63 6b 0d |splay th|e stack.|
|00001230| 76 61 72 69 61 62 6c 65 | 20 50 4c 41 43 45 53 20 |variable| PLACES |
|00001240| 20 39 20 70 6c 61 63 65 | 73 20 21 20 20 20 5c 20 | 9 place|s ! \ |
|00001250| 6e 75 6d 62 65 72 20 6f | 66 20 64 65 63 69 6d 61 |number o|f decima|
|00001260| 6c 20 70 6c 61 63 65 73 | 20 74 6f 20 73 68 6f 77 |l places| to show|
|00001270| 0d 3a 20 53 50 41 43 45 | 53 20 28 20 6e 20 2d 2d |.: SPACE|S ( n --|
|00001280| 20 29 20 30 20 44 4f 20 | 73 70 61 63 65 20 4c 4f | ) 0 DO |space LO|
|00001290| 4f 50 20 3b 20 20 5c 20 | 65 6d 69 74 20 6e 20 73 |OP ; \ |emit n s|
|000012a0| 70 61 63 65 73 20 20 4e | 45 56 45 52 20 42 45 20 |paces N|EVER BE |
|000012b0| 5a 45 52 4f 21 0d 3a 20 | 42 49 47 5f 43 52 20 28 |ZERO!.: |BIG_CR (|
|000012c0| 20 2d 2d 20 29 20 40 70 | 65 6e 20 73 77 61 70 20 | -- ) @p|en swap |
|000012d0| 64 72 6f 70 20 31 36 20 | 2b 20 31 20 73 77 61 70 |drop 16 |+ 1 swap|
|000012e0| 20 21 70 65 6e 20 3b 20 | 20 5c 20 62 69 67 67 65 | !pen ; | \ bigge|
|000012f0| 72 20 63 72 0d 3a 20 4c | 2e 20 28 20 6e 20 2d 2d |r cr.: L|. ( n --|
|00001300| 20 29 20 20 5c 20 6e 20 | 3d 20 6e 74 68 20 66 70 | ) \ n |= nth fp|
|00001310| 20 6e 75 6d 62 65 72 20 | 6f 6e 20 73 74 61 63 6b | number |on stack|
|00001320| 20 28 20 61 75 74 6f 2d | 66 6f 72 6d 61 74 74 69 | ( auto-|formatti|
|00001330| 6e 67 20 64 69 73 70 6c | 61 79 20 29 0d 20 20 20 |ng displ|ay ). |
|00001340| 20 35 20 73 70 61 63 65 | 73 20 20 64 75 70 20 35 | 5 space|s dup 5|
|00001350| 20 2a 20 6e 65 65 64 73 | 20 30 3d 20 49 46 20 20 | * needs| 0= IF |
|00001360| 20 20 20 20 0d 20 20 20 | 20 20 20 66 70 69 63 6b | . | fpick|
|00001370| 20 45 4c 53 45 20 20 64 | 72 6f 70 20 30 2e 30 20 | ELSE d|rop 0.0 |
|00001380| 54 48 45 4e 20 20 5c 20 | 2d 2d 20 66 0d 20 20 20 |THEN \ |-- f. |
|00001390| 20 66 64 75 70 20 20 20 | 20 20 20 20 20 20 20 20 | fdup | |
|000013a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5c 20 | | \ |
|000013b0| 49 66 20 72 65 61 6c 20 | 6e 75 6d 62 65 72 2c 20 |If real |number, |
|000013c0| 66 2c 20 69 73 0d 20 20 | 20 20 66 64 75 70 20 66 |f, is. | fdup f|
|000013d0| 61 62 73 20 31 2e 65 39 | 20 20 66 3e 20 3e 72 20 |abs 1.e9| f> >r |
|000013e0| 20 20 20 20 20 20 20 5c | 20 62 69 67 67 65 72 20 | \| bigger |
|000013f0| 74 68 61 6e 20 31 20 62 | 69 6c 6c 69 6f 6e 0d 20 |than 1 b|illion. |
|00001400| 20 20 20 66 64 75 70 20 | 66 61 62 73 20 31 2e 65 | fdup |fabs 1.e|
|00001410| 2d 34 20 66 3c 20 3e 72 | 20 20 20 20 20 20 20 20 |-4 f< >r| |
|00001420| 5c 20 6f 72 20 6c 65 73 | 73 20 74 68 61 6e 20 2e |\ or les|s than .|
|00001430| 30 30 30 31 0d 20 20 20 | 20 66 30 3d 20 30 3d 20 |0001. | f0= 0= |
|00001440| 72 3e 20 72 3e 20 6f 72 | 20 61 6e 64 20 49 46 20 |r> r> or| and IF |
|00001450| 20 20 20 20 20 20 5c 20 | 62 75 74 20 6e 6f 74 20 | \ |but not |
|00001460| 7a 65 72 6f 2e 2e 2e 0d | 20 20 20 20 20 20 70 6c |zero....| pl|
|00001470| 61 63 65 73 20 40 20 73 | 63 69 20 20 45 4c 53 45 |aces @ s|ci ELSE|
|00001480| 20 20 20 20 20 20 20 20 | 20 5c 20 64 6f 20 73 63 | | \ do sc|
|00001490| 69 65 6e 74 69 66 69 63 | 20 6e 6f 74 61 74 69 6f |ientific| notatio|
|000014a0| 6e 0d 20 20 20 20 20 20 | 20 70 6c 61 63 65 73 20 |n. | places |
|000014b0| 40 20 66 69 78 20 20 54 | 48 45 4e 20 20 20 20 20 |@ fix T|HEN |
|000014c0| 20 20 20 5c 20 64 6f 20 | 66 69 78 65 64 20 70 6f | \ do |fixed po|
|000014d0| 69 6e 74 20 6e 6f 74 61 | 74 69 6f 6e 0d 20 20 20 |int nota|tion. |
|000014e0| 20 66 2e 20 62 69 67 5f | 63 72 20 3b 20 20 20 20 | f. big_|cr ; |
|000014f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5c 20 | | \ |
|00001500| 73 68 6f 77 20 69 74 2c | 20 74 68 65 6e 20 6d 6f |show it,| then mo|
|00001510| 76 65 20 64 6f 77 6e 0d | 3a 20 2e 53 54 41 43 4b |ve down.|: .STACK|
|00001520| 20 28 20 66 6e 2e 2e 66 | 31 20 2d 2d 20 66 6e 2e | ( fn..f|1 -- fn.|
|00001530| 2e 66 31 20 29 20 20 5c | 20 64 69 73 70 6c 61 79 |.f1 ) \| display|
|00001540| 20 66 73 74 61 63 6b 0d | 20 20 20 20 6d 61 72 67 | fstack.| marg|
|00001550| 69 6e 5f 72 65 63 74 20 | 72 63 6c 69 70 20 20 20 |in_rect |rclip |
|00001560| 20 20 20 20 20 20 20 20 | 20 5c 20 63 6c 69 70 20 | | \ clip |
|00001570| 74 6f 20 6b 65 65 70 20 | 6d 61 72 67 69 6e 20 63 |to keep |margin c|
|00001580| 6c 65 61 72 0d 20 20 20 | 20 73 79 73 66 6f 6e 74 |lear. | sysfont|
|00001590| 20 20 75 70 70 65 72 5f | 72 65 63 74 20 72 65 72 | upper_|rect rer|
|000015a0| 61 73 65 20 20 20 5c 20 | 63 68 69 63 61 67 6f 20 |ase \ |chicago |
|000015b0| 31 32 2c 20 65 72 61 73 | 65 20 74 6f 70 20 6f 66 |12, eras|e top of|
|000015c0| 20 77 69 6e 64 6f 77 0d | 20 20 20 20 31 20 32 30 | window.| 1 20|
|000015d0| 20 21 70 65 6e 20 20 20 | 20 20 20 20 20 20 20 20 | !pen | |
|000015e0| 20 20 20 20 20 20 20 20 | 20 5c 20 73 65 74 20 73 | | \ set s|
|000015f0| 74 61 72 74 69 6e 67 20 | 70 6c 61 63 65 0d 20 20 |tarting |place. |
|00001600| 20 20 34 20 6c 2e 20 20 | 33 20 6c 2e 20 20 32 20 | 4 l. |3 l. 2 |
|00001610| 6c 2e 20 20 31 20 6c 2e | 20 3b 20 20 20 20 20 5c |l. 1 l.| ; \|
|00001620| 20 64 69 73 70 6c 61 79 | 20 34 20 6c 69 6e 65 73 | display| 4 lines|
|00001630| 0d 0d 5c 20 64 69 73 70 | 6c 61 79 20 61 6e 6e 75 |..\ disp|lay annu|
|00001640| 6e 63 69 61 74 6f 72 73 | 0d 66 76 61 72 69 61 62 |nciators|.fvariab|
|00001650| 6c 65 20 41 54 59 50 45 | 20 20 31 2e 20 61 74 79 |le ATYPE| 1. aty|
|00001660| 70 65 20 66 21 20 20 5c | 20 31 3d 72 61 64 69 61 |pe f! \| 1=radia|
|00001670| 6e 73 20 20 64 2f 72 3d | 64 65 67 72 65 65 73 0d |ns d/r=|degrees.|
|00001680| 3a 20 2e 41 4e 4e 55 4e | 43 49 41 54 4f 52 20 20 |: .ANNUN|CIATOR |
|00001690| 5c 20 64 72 61 77 20 61 | 6e 67 6c 65 20 74 79 70 |\ draw a|ngle typ|
|000016a0| 65 20 61 6e 6e 75 6e 63 | 69 61 74 6f 72 0d 20 20 |e annunc|iator. |
|000016b0| 20 20 6d 61 72 67 69 6e | 5f 72 65 63 74 20 72 63 | margin|_rect rc|
|000016c0| 6c 69 70 20 20 20 20 20 | 20 20 20 20 20 20 20 5c |lip | \|
|000016d0| 20 63 6c 69 70 20 74 6f | 20 6b 65 65 70 20 6d 61 | clip to| keep ma|
|000016e0| 72 67 69 6e 20 63 6c 65 | 61 72 0d 20 20 20 20 31 |rgin cle|ar. 1|
|000016f0| 38 30 20 39 30 20 21 70 | 65 6e 20 20 6d 6f 6e 61 |80 90 !p|en mona|
|00001700| 63 6f 39 20 20 72 65 64 | 20 20 20 20 5c 20 72 65 |co9 red| \ re|
|00001710| 64 20 70 65 6e 0d 20 20 | 20 20 61 74 79 70 65 20 |d pen. | atype |
|00001720| 66 40 20 31 2e 30 20 66 | 2d 20 66 30 3d 20 49 46 |f@ 1.0 f|- f0= IF|
|00001730| 20 20 20 20 20 20 20 5c | 20 31 3d 72 61 64 69 61 | \| 1=radia|
|00001740| 6e 73 20 20 6f 74 68 65 | 72 74 20 3d 20 64 65 67 |ns othe|rt = deg|
|00001750| 72 65 65 73 0d 20 20 20 | 20 20 20 2e 22 20 52 22 |rees. | ." R"|
|00001760| 20 45 4c 53 45 20 2e 22 | 20 44 22 20 54 48 45 4e | ELSE ."| D" THEN|
|00001770| 20 20 62 6c 61 63 6b 20 | 3b 0d 0d 5c 20 6b 65 79 | black |;..\ key|
|00001780| 20 70 72 65 73 73 20 68 | 61 6e 64 6c 69 6e 67 0d | press h|andling.|
|00001790| 76 61 72 69 61 62 6c 65 | 20 4b 46 4c 41 47 20 20 |variable| KFLAG |
|000017a0| 5c 20 68 6f 6c 64 73 20 | 74 68 65 20 70 72 65 73 |\ holds |the pres|
|000017b0| 73 65 64 20 6b 65 79 0d | 3a 20 21 4b 45 59 20 28 |sed key.|: !KEY (|
|000017c0| 20 63 20 2d 2d 20 29 20 | 6b 66 6c 61 67 20 21 20 | c -- ) |kflag ! |
|000017d0| 3b 20 20 30 20 21 6b 65 | 79 20 20 5c 20 73 65 74 |; 0 !ke|y \ set|
|000017e0| 20 6b 65 79 20 70 72 65 | 73 73 65 64 0d 3a 20 40 | key pre|ssed.: @|
|000017f0| 4b 45 59 20 28 20 2d 2d | 20 63 20 29 20 6b 66 6c |KEY ( --| c ) kfl|
|00001800| 61 67 20 40 20 3b 20 20 | 20 20 20 20 20 20 20 20 |ag @ ; | |
|00001810| 5c 20 67 65 74 20 6c 61 | 73 74 20 6b 65 79 20 70 |\ get la|st key p|
|00001820| 72 65 73 73 65 64 0d 3a | 20 3f 4e 55 4d 45 52 49 |ressed.:| ?NUMERI|
|00001830| 43 20 28 20 63 20 2d 2d | 20 66 6c 61 67 20 29 20 |C ( c --| flag ) |
|00001840| 5c 20 74 72 75 65 20 69 | 66 20 63 20 69 73 20 6e |\ true i|f c is n|
|00001850| 75 6d 65 72 69 63 20 28 | 6f 72 20 65 20 6f 72 20 |umeric (|or e or |
|00001860| 2e 29 0d 20 20 20 20 64 | 75 70 20 31 30 31 20 3d |.). d|up 101 =|
|00001870| 20 3e 72 20 20 28 20 65 | 20 29 0d 20 20 20 20 64 | >r ( e| ). d|
|00001880| 75 70 20 20 36 39 20 3d | 20 3e 72 20 20 28 20 45 |up 69 =| >r ( E|
|00001890| 20 29 0d 20 20 20 20 64 | 75 70 20 20 34 36 20 3d | ). d|up 46 =|
|000018a0| 20 3e 72 20 20 28 20 2e | 20 29 0d 20 20 20 20 64 | >r ( .| ). d|
|000018b0| 75 70 20 20 34 37 20 3e | 20 3e 72 20 20 28 20 30 |up 47 >| >r ( 0|
|000018c0| 20 2e 2e 2e 20 39 20 29 | 0d 20 20 20 20 35 38 20 | ... 9 )|. 58 |
|000018d0| 3c 20 20 72 3e 20 61 6e | 64 20 20 72 3e 20 6f 72 |< r> an|d r> or|
|000018e0| 20 20 72 3e 20 6f 72 20 | 20 72 3e 20 6f 72 20 3b | r> or | r> or ;|
|000018f0| 0d 0d 5c 20 62 75 66 66 | 65 72 20 6b 65 79 20 70 |..\ buff|er key p|
|00001900| 72 65 73 73 65 73 0d 76 | 61 72 69 61 62 6c 65 20 |resses.v|ariable |
|00001910| 4b 42 55 46 46 20 33 32 | 20 61 6c 6c 6f 74 20 20 |KBUFF 32| allot |
|00001920| 20 20 20 20 20 20 20 20 | 5c 20 68 6f 6c 64 20 6d | |\ hold m|
|00001930| 75 6c 74 69 62 79 74 65 | 20 69 6e 70 75 74 0d 76 |ultibyte| input.v|
|00001940| 61 72 69 61 62 6c 65 20 | 5e 4b 42 55 46 46 20 20 |ariable |^KBUFF |
|00001950| 6b 62 75 66 66 20 5e 6b | 62 75 66 66 20 21 20 20 |kbuff ^k|buff ! |
|00001960| 5c 20 70 6c 61 63 65 20 | 68 6f 6c 64 65 72 20 66 |\ place |holder f|
|00001970| 6f 72 20 61 62 6f 76 65 | 0d 3a 20 23 43 48 41 52 |or above|.: #CHAR|
|00001980| 53 20 28 20 2d 2d 20 6e | 20 29 20 20 5c 20 6e 6f |S ( -- n| ) \ no|
|00001990| 2e 20 6f 66 20 63 68 61 | 72 61 63 74 65 72 73 20 |. of cha|racters |
|000019a0| 69 6e 20 69 6e 70 75 74 | 20 62 75 66 66 65 72 0d |in input| buffer.|
|000019b0| 20 20 20 20 5e 6b 62 75 | 66 66 20 40 20 6b 62 75 | ^kbu|ff @ kbu|
|000019c0| 66 66 20 31 2b 20 2d 20 | 3b 0d 3a 20 4b 45 59 3e |ff 1+ - |;.: KEY>|
|000019d0| 42 55 46 46 45 52 20 28 | 20 2d 2d 20 29 20 20 5c |BUFFER (| -- ) \|
|000019e0| 20 73 74 6f 72 65 20 74 | 68 65 20 6b 65 79 20 69 | store t|he key i|
|000019f0| 6e 74 6f 20 6b 62 75 66 | 66 0d 20 20 20 20 40 6b |nto kbuf|f. @k|
|00001a00| 65 79 20 5e 6b 62 75 66 | 66 20 40 20 63 21 20 20 |ey ^kbuf|f @ c! |
|00001a10| 5c 20 73 74 6f 72 65 20 | 63 68 61 72 61 63 74 65 |\ store |characte|
|00001a20| 72 0d 20 20 20 20 31 20 | 5e 6b 62 75 66 66 20 2b |r. 1 |^kbuff +|
|00001a30| 21 20 20 20 20 20 20 20 | 20 5c 20 69 6e 63 72 65 |! | \ incre|
|00001a40| 6d 65 6e 74 20 70 6f 69 | 6e 74 65 72 0d 20 20 20 |ment poi|nter. |
|00001a50| 20 23 63 68 61 72 73 20 | 6b 62 75 66 66 20 63 21 | #chars |kbuff c!|
|00001a60| 20 3b 20 20 20 5c 20 73 | 74 6f 72 65 20 6c 65 6e | ; \ s|tore len|
|00001a70| 67 74 68 0d 0d 5c 20 70 | 75 74 20 66 70 20 6e 75 |gth..\ p|ut fp nu|
|00001a80| 6d 62 65 72 20 6f 6e 20 | 73 74 61 63 6b 0d 3a 20 |mber on |stack.: |
|00001a90| 46 49 52 53 54 5f 43 48 | 41 52 20 28 20 2d 2d 20 |FIRST_CH|AR ( -- |
|00001aa0| 61 64 64 72 20 29 20 6b | 62 75 66 66 20 31 2b 20 |addr ) k|buff 1+ |
|00001ab0| 3b 20 20 5c 20 66 69 72 | 73 74 20 63 68 61 72 20 |; \ fir|st char |
|00001ac0| 6f 66 20 6b 62 75 66 66 | 0d 3a 20 49 4e 53 45 52 |of kbuff|.: INSER|
|00001ad0| 54 5f 43 48 41 52 20 28 | 20 63 20 2d 2d 20 29 20 |T_CHAR (| c -- ) |
|00001ae0| 20 5c 20 69 6e 73 65 72 | 74 20 63 20 61 74 20 73 | \ inser|t c at s|
|00001af0| 74 61 72 74 20 6f 66 20 | 6b 62 75 66 66 0d 20 20 |tart of |kbuff. |
|00001b00| 20 20 66 69 72 73 74 5f | 63 68 61 72 20 20 6b 62 | first_|char kb|
|00001b10| 75 66 66 20 32 2b 20 20 | 23 63 68 61 72 73 20 63 |uff 2+ |#chars c|
|00001b20| 6d 6f 76 65 20 20 5c 20 | 6d 6f 76 65 20 63 68 61 |move \ |move cha|
|00001b30| 72 73 20 75 70 20 6f 6e | 65 0d 20 20 20 20 66 69 |rs up on|e. fi|
|00001b40| 72 73 74 5f 63 68 61 72 | 20 63 21 20 20 20 20 20 |rst_char| c! |
|00001b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b60| 20 20 5c 20 73 74 6f 72 | 65 20 63 20 61 74 20 62 | \ stor|e c at b|
|00001b70| 65 67 69 6e 6e 69 6e 67 | 0d 20 20 20 20 6b 62 75 |eginning|. kbu|
|00001b80| 66 66 20 63 40 20 31 2b | 20 6b 62 75 66 66 20 63 |ff c@ 1+| kbuff c|
|00001b90| 21 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |! | |
|00001ba0| 20 5c 20 69 6e 63 65 72 | 6d 65 6e 74 20 63 6f 75 | \ incer|ment cou|
|00001bb0| 6e 74 0d 20 20 20 20 31 | 20 5e 6b 62 75 66 66 20 |nt. 1| ^kbuff |
|00001bc0| 2b 21 20 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |+! ; | |
|00001bd0| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 69 6e 63 | | \ inc|
|00001be0| 72 65 6d 65 6e 74 20 69 | 6e 64 65 78 0d 3a 20 45 |rement i|ndex.: E|
|00001bf0| 4e 54 45 52 20 28 20 2d | 2d 20 29 20 20 5c 20 63 |NTER ( -|- ) \ c|
|00001c00| 6f 6e 76 65 72 74 20 69 | 6e 70 75 74 20 62 75 66 |onvert i|nput buf|
|00001c10| 66 65 72 20 74 6f 20 61 | 20 6e 75 6d 62 65 72 0d |fer to a| number.|
|00001c20| 20 20 20 20 23 63 68 61 | 72 73 20 49 46 20 20 20 | #cha|rs IF |
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c50| 20 20 5c 20 69 66 20 74 | 68 65 72 65 27 73 20 61 | \ if t|here's a|
|00001c60| 6e 79 20 6e 75 6d 62 65 | 72 73 0d 20 20 20 20 20 |ny numbe|rs. |
|00001c70| 20 6b 62 75 66 66 20 75 | 70 70 65 72 20 20 20 20 | kbuff u|pper |
|00001c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 62 | | \ b|
|00001ca0| 65 20 73 75 72 65 20 69 | 74 73 20 45 20 6e 6f 74 |e sure i|ts E not|
|00001cb0| 20 65 0d 20 20 20 20 20 | 20 66 69 72 73 74 5f 63 | e. | first_c|
|00001cc0| 68 61 72 20 63 40 20 36 | 39 20 3d 20 49 46 20 20 |har c@ 6|9 = IF |
|00001cd0| 34 39 20 69 6e 73 65 72 | 74 5f 63 68 61 72 20 54 |49 inser|t_char T|
|00001ce0| 48 45 4e 20 20 5c 20 69 | 6e 73 65 72 74 20 31 20 |HEN \ i|nsert 1 |
|00001cf0| 69 66 20 45 0d 20 20 20 | 20 20 20 66 69 72 73 74 |if E. | first|
|00001d00| 5f 63 68 61 72 20 63 40 | 20 34 36 20 3d 20 49 46 |_char c@| 46 = IF|
|00001d10| 20 20 34 38 20 69 6e 73 | 65 72 74 5f 63 68 61 72 | 48 ins|ert_char|
|00001d20| 20 54 48 45 4e 20 20 5c | 20 69 6e 73 65 72 74 20 | THEN \| insert |
|00001d30| 30 20 69 66 20 2e 0d 20 | 20 20 20 20 20 6b 62 75 |0 if .. | kbu|
|00001d40| 66 66 20 3e 61 62 73 20 | 66 6e 75 6d 62 65 72 20 |ff >abs |fnumber |
|00001d50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d60| 20 20 20 20 20 20 20 20 | 20 5c 20 63 6f 6e 76 65 | | \ conve|
|00001d70| 72 74 20 74 6f 20 6e 75 | 6d 62 65 72 0d 20 20 20 |rt to nu|mber. |
|00001d80| 20 20 20 66 69 72 73 74 | 5f 63 68 61 72 20 5e 6b | first|_char ^k|
|00001d90| 62 75 66 66 20 21 20 20 | 30 20 6b 62 75 66 66 20 |buff ! |0 kbuff |
|00001da0| 21 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 5c |! | \|
|00001db0| 20 72 65 73 65 74 20 62 | 75 66 66 65 72 0d 20 20 | reset b|uffer. |
|00001dc0| 20 20 54 48 45 4e 20 3b | 0d 0d 5c 20 64 69 73 70 | THEN ;|..\ disp|
|00001dd0| 6c 61 79 20 74 68 65 20 | 69 6e 70 75 74 20 62 75 |lay the |input bu|
|00001de0| 66 66 65 72 0d 3a 20 2e | 42 55 46 46 45 52 0d 20 |ffer.: .|BUFFER. |
|00001df0| 20 20 20 62 75 66 66 65 | 72 5f 72 65 63 74 20 72 | buffe|r_rect r|
|00001e00| 63 6c 69 70 20 20 32 32 | 20 39 30 20 21 70 65 6e |clip 22| 90 !pen|
|00001e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 72 65 | | \ re|
|00001e20| 73 74 72 69 63 74 20 70 | 65 6e 20 74 6f 20 69 6e |strict p|en to in|
|00001e30| 70 75 74 20 61 72 65 61 | 0d 20 20 20 20 62 75 66 |put area|. buf|
|00001e40| 66 65 72 5f 72 65 63 74 | 20 72 65 72 61 73 65 20 |fer_rect| rerase |
|00001e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e60| 20 20 20 20 20 20 20 5c | 20 63 6c 65 61 72 20 69 | \| clear i|
|00001e70| 6e 70 75 74 20 72 65 63 | 74 0d 20 20 20 20 6b 62 |nput rec|t. kb|
|00001e80| 75 66 66 20 63 40 20 49 | 46 20 73 79 73 66 6f 6e |uff c@ I|F sysfon|
|00001e90| 74 20 6b 62 75 66 66 20 | 63 6f 75 6e 74 20 74 79 |t kbuff |count ty|
|00001ea0| 70 65 20 54 48 45 4e 20 | 20 5c 20 74 79 70 65 20 |pe THEN | \ type |
|00001eb0| 69 6e 70 75 74 20 62 75 | 66 66 65 72 0d 20 20 20 |input bu|ffer. |
|00001ec0| 20 62 75 66 66 65 72 5f | 72 65 63 74 20 72 66 72 | buffer_|rect rfr|
|00001ed0| 61 6d 65 20 3b 20 20 20 | 20 20 20 20 20 20 20 20 |ame ; | |
|00001ee0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 64 | | \ d|
|00001ef0| 72 61 77 20 66 72 61 6d | 65 0d 0d 5c 20 64 69 73 |raw fram|e..\ dis|
|00001f00| 70 6c 61 79 20 63 61 6c | 63 75 6c 61 74 6f 72 0d |play cal|culator.|
|00001f10| 3a 20 2e 43 41 4c 43 20 | 28 20 2d 2d 20 29 20 2e |: .CALC |( -- ) .|
|00001f20| 73 74 61 63 6b 20 2e 62 | 75 66 66 65 72 20 2e 61 |stack .b|uffer .a|
|00001f30| 6e 6e 75 6e 63 69 61 74 | 6f 72 20 3b 0d 0d 0d 5c |nnunciat|or ;...\|
|00001f40| 20 75 6e 64 6f 2c 20 63 | 75 74 2c 20 63 6f 70 79 | undo, c|ut, copy|
|00001f50| 2c 20 70 61 73 74 65 20 | 26 20 63 6c 65 61 72 0d |, paste |& clear.|
|00001f60| 76 61 72 69 61 62 6c 65 | 20 55 44 45 50 54 48 0d |variable| UDEPTH.|
|00001f70| 3a 20 55 42 55 46 46 20 | 28 20 2d 2d 20 61 64 64 |: UBUFF |( -- add|
|00001f80| 72 20 29 20 68 65 72 65 | 20 33 30 30 20 2b 20 3b |r ) here| 300 + ;|
|00001f90| 20 20 5c 20 68 65 72 65 | 2b 33 30 30 20 69 73 20 | \ here|+300 is |
|00001fa0| 75 73 65 64 20 66 6f 72 | 20 74 68 65 20 75 6e 64 |used for| the und|
|00001fb0| 6f 20 62 75 66 66 65 72 | 0d 3a 20 45 4d 50 54 59 |o buffer|.: EMPTY|
|00001fc0| 5f 53 54 41 43 4b 20 20 | 64 65 70 74 68 20 30 20 |_STACK |depth 0 |
|00001fd0| 44 4f 20 64 72 6f 70 20 | 4c 4f 4f 50 20 3b 20 20 |DO drop |LOOP ; |
|00001fe0| 5c 20 63 6c 65 61 72 20 | 73 74 61 63 6b 0d 3a 20 |\ clear |stack.: |
|00001ff0| 4b 45 45 50 20 28 20 2d | 2d 20 29 20 20 5c 20 73 |KEEP ( -|- ) \ s|
|00002000| 61 76 65 20 74 68 65 20 | 73 74 61 63 6b 20 69 6e |ave the |stack in|
|00002010| 20 74 68 65 20 75 6e 64 | 6f 20 62 75 66 66 65 72 | the und|o buffer|
|00002020| 0d 20 20 20 20 64 65 70 | 74 68 20 35 20 2f 20 75 |. dep|th 5 / u|
|00002030| 64 65 70 74 68 20 21 0d | 20 20 20 20 75 64 65 70 |depth !.| udep|
|00002040| 74 68 20 40 20 30 20 44 | 4f 20 20 20 20 5c 20 70 |th @ 0 D|O \ p|
|00002050| 75 74 20 65 61 63 68 20 | 66 70 20 6e 75 6d 62 65 |ut each |fp numbe|
|00002060| 72 20 66 72 6f 6d 20 73 | 74 61 63 6b 20 69 6e 74 |r from s|tack int|
|00002070| 6f 20 75 6e 64 6f 20 62 | 75 66 66 65 72 0d 20 20 |o undo b|uffer. |
|00002080| 20 20 20 20 72 20 31 2b | 20 66 70 69 63 6b 20 20 | r 1+| fpick |
|00002090| 75 62 75 66 66 20 72 20 | 31 30 20 2a 20 2b 20 66 |ubuff r |10 * + f|
|000020a0| 21 20 20 4c 4f 4f 50 20 | 3b 0d 3a 20 52 45 53 54 |! LOOP |;.: REST|
|000020b0| 4f 52 45 5f 53 54 41 43 | 4b 20 28 20 2d 2d 20 2e |ORE_STAC|K ( -- .|
|000020c0| 2e 2e 20 29 20 65 6d 70 | 74 79 5f 73 74 61 63 6b |.. ) emp|ty_stack|
|000020d0| 20 20 5c 20 72 65 73 74 | 6f 72 65 20 74 68 65 20 | \ rest|ore the |
|000020e0| 73 74 61 63 6b 0d 20 20 | 20 20 75 64 65 70 74 68 |stack. | udepth|
|000020f0| 20 40 20 49 46 0d 20 20 | 20 20 20 20 75 64 65 70 | @ IF. | udep|
|00002100| 74 68 20 40 20 30 20 44 | 4f 20 20 5c 20 70 75 74 |th @ 0 D|O \ put|
|00002110| 20 65 61 63 68 20 69 74 | 65 6d 20 66 72 6f 6d 20 | each it|em from |
|00002120| 75 6e 64 6f 20 62 75 66 | 66 65 72 20 6f 6e 74 6f |undo buf|fer onto|
|00002130| 20 73 74 61 63 6b 0d 20 | 20 20 20 20 20 20 20 75 | stack. | u|
|00002140| 62 75 66 66 20 20 75 64 | 65 70 74 68 20 40 20 31 |buff ud|epth @ 1|
|00002150| 2d 20 31 30 20 2a 20 2b | 20 20 72 20 31 30 20 2a |- 10 * +| r 10 *|
|00002160| 20 2d 20 20 66 40 20 20 | 4c 4f 4f 50 20 54 48 45 | - f@ |LOOP THE|
|00002170| 4e 20 3b 0d 3a 20 55 4e | 44 4f 20 28 20 2d 2d 20 |N ;.: UN|DO ( -- |
|00002180| 2e 2e 2e 20 29 20 72 65 | 73 74 6f 72 65 5f 73 74 |... ) re|store_st|
|00002190| 61 63 6b 20 2e 63 61 6c | 63 20 3b 0d 0d 32 76 61 |ack .cal|c ;..2va|
|000021a0| 72 69 61 62 6c 65 20 49 | 48 41 4e 44 4c 45 20 20 |riable I|HANDLE |
|000021b0| 5c 20 74 65 6d 70 6f 72 | 61 72 79 20 68 61 6e 64 |\ tempor|ary hand|
|000021c0| 6c 65 20 68 6f 6c 64 65 | 72 0d 3a 20 44 45 52 45 |le holde|r.: DERE|
|000021d0| 46 20 28 20 61 64 64 72 | 20 2d 2d 20 64 61 64 64 |F ( addr| -- dadd|
|000021e0| 72 20 29 20 32 40 20 64 | 6c 40 20 3b 20 20 20 20 |r ) 2@ d|l@ ; |
|000021f0| 5c 20 64 65 72 65 66 65 | 72 65 6e 63 65 20 61 20 |\ derefe|rence a |
|00002200| 68 61 6e 64 6c 65 20 61 | 74 20 61 64 64 72 0d 3a |handle a|t addr.:|
|00002210| 20 48 41 4e 44 4c 45 3e | 48 45 52 45 20 28 20 6e | HANDLE>|HERE ( n|
|00002220| 20 61 64 64 72 20 2d 2d | 20 29 20 5c 20 6d 6f 76 | addr --| ) \ mov|
|00002230| 65 20 6e 20 62 79 74 65 | 73 20 66 72 6f 6d 20 68 |e n byte|s from h|
|00002240| 61 6e 64 6c 65 20 74 6f | 20 68 65 72 65 0d 20 20 |andle to| here. |
|00002250| 20 20 64 65 72 65 66 20 | 20 20 20 20 20 20 20 20 | deref | |
|00002260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002270| 20 20 20 20 20 20 5c 20 | 67 65 74 20 70 6f 69 6e | \ |get poin|
|00002280| 74 65 72 20 66 72 6f 6d | 20 68 61 6e 64 6c 65 0d |ter from| handle.|
|00002290| 20 20 20 20 72 6f 74 20 | 64 75 70 20 68 65 72 65 | rot |dup here|
|000022a0| 20 21 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | ! | |
|000022b0| 20 20 20 20 20 20 20 20 | 20 5c 20 73 74 6f 72 65 | | \ store|
|000022c0| 20 6c 65 6e 67 74 68 0d | 20 20 20 20 68 65 72 65 | length.| here|
|000022d0| 20 32 2b 20 3e 61 62 73 | 20 20 72 6f 74 20 20 62 | 2+ >abs| rot b|
|000022e0| 6d 6f 76 65 20 20 20 20 | 20 20 20 20 20 20 20 20 |move | |
|000022f0| 20 20 5c 20 6d 6f 76 65 | 20 74 6f 20 68 65 72 65 | \ move| to here|
|00002300| 2b 32 0d 20 20 20 20 68 | 65 72 65 20 31 2b 20 20 |+2. h|ere 1+ |
|00002310| 68 65 72 65 20 20 68 65 | 72 65 20 31 2b 20 63 40 |here he|re 1+ c@|
|00002320| 20 31 2b 20 20 63 6d 6f | 76 65 20 3b 20 20 5c 20 | 1+ cmo|ve ; \ |
|00002330| 6d 6f 76 65 20 74 6f 20 | 68 65 72 65 0d 3a 20 53 |move to |here.: S|
|00002340| 43 52 41 50 3e 53 54 41 | 43 4b 20 28 20 2d 2d 20 |CRAP>STA|CK ( -- |
|00002350| 66 20 29 20 5c 20 50 75 | 74 20 61 73 63 69 69 20 |f ) \ Pu|t ascii |
|00002360| 73 63 72 61 70 20 6f 6e | 74 6f 20 73 74 61 63 6b |scrap on|to stack|
|00002370| 20 61 73 20 61 6e 20 66 | 70 20 6e 75 6d 62 65 72 | as an f|p number|
|00002380| 2e 0d 20 20 20 20 31 30 | 20 68 6e 65 77 20 69 68 |.. 10| hnew ih|
|00002390| 61 6e 64 6c 65 20 32 21 | 20 20 20 20 20 20 20 20 |andle 2!| |
|000023a0| 20 20 20 20 5c 20 63 72 | 65 61 74 65 20 61 20 68 | \ cr|eate a h|
|000023b0| 61 6e 64 6c 65 0d 20 20 | 20 20 30 20 30 20 32 3e |andle. | 0 0 2>|
|000023c0| 72 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r | |
|000023d0| 20 20 20 20 20 20 20 20 | 5c 20 72 6f 6f 6d 20 66 | |\ room f|
|000023e0| 6f 72 20 72 65 73 75 6c | 74 0d 20 20 20 20 69 68 |or resul|t. ih|
|000023f0| 61 6e 64 6c 65 20 32 40 | 20 32 3e 72 20 20 20 20 |andle 2@| 2>r |
|00002400| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 70 75 | | \ pu|
|00002410| 73 68 20 68 61 6e 64 6c | 65 20 74 6f 20 72 73 74 |sh handl|e to rst|
|00002420| 61 63 6b 0d 20 20 20 20 | 2c 73 20 54 45 58 54 20 |ack. |,s TEXT |
|00002430| 32 3e 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |2>r | |
|00002440| 20 20 20 20 20 20 5c 20 | 73 63 72 61 70 20 74 79 | \ |scrap ty|
|00002450| 70 65 20 69 64 65 6e 74 | 69 66 69 65 72 0d 20 20 |pe ident|ifier. |
|00002460| 20 20 68 65 72 65 20 61 | 3e 72 20 20 20 20 20 20 | here a|>r |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002480| 5c 20 6f 66 66 73 65 74 | 20 76 61 72 69 61 62 6c |\ offset| variabl|
|00002490| 65 0d 20 20 20 20 20 20 | 2c 24 20 41 39 46 44 20 |e. |,$ A9FD |
|000024a0| 28 20 5f 47 65 74 53 63 | 72 61 70 20 29 0d 20 20 |( _GetSc|rap ). |
|000024b0| 20 20 32 72 3e 20 30 3c | 20 49 46 20 20 20 20 20 | 2r> 0<| IF |
|000024c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024d0| 5c 20 68 69 67 68 20 62 | 79 74 65 20 69 6e 64 69 |\ high b|yte indi|
|000024e0| 63 61 74 65 73 20 61 6e | 20 65 72 72 6f 72 0d 20 |cates an| error. |
|000024f0| 20 20 20 20 20 64 72 6f | 70 20 20 20 20 20 20 20 | dro|p |
|00002500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002510| 20 5c 20 20 20 64 72 6f | 70 20 62 79 74 65 73 0d | \ dro|p bytes.|
|00002520| 20 20 20 20 45 4c 53 45 | 20 20 20 20 20 20 20 20 | ELSE| |
|00002530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002540| 20 20 5c 20 6e 6f 20 65 | 72 72 6f 72 0d 20 20 20 | \ no e|rror. |
|00002550| 20 20 20 69 68 61 6e 64 | 6c 65 20 20 68 61 6e 64 | ihand|le hand|
|00002560| 6c 65 3e 68 65 72 65 20 | 20 20 20 20 20 20 20 5c |le>here | \|
|00002570| 20 20 20 6d 6f 76 65 20 | 73 74 72 69 6e 67 20 74 | move |string t|
|00002580| 6f 20 68 65 72 65 0d 20 | 20 20 20 20 20 68 65 72 |o here. | her|
|00002590| 65 20 3e 61 62 73 20 20 | 66 6e 75 6d 62 65 72 20 |e >abs |fnumber |
|000025a0| 20 20 20 20 20 20 20 20 | 20 5c 20 20 20 63 6f 6e | | \ con|
|000025b0| 76 65 72 74 20 73 74 72 | 69 6e 67 20 74 6f 20 6e |vert str|ing to n|
|000025c0| 75 6d 62 65 72 0d 20 20 | 20 20 54 48 45 4e 20 20 |umber. | THEN |
|000025d0| 69 68 61 6e 64 6c 65 20 | 32 40 20 68 64 69 73 70 |ihandle |2@ hdisp|
|000025e0| 20 3b 20 20 20 20 20 20 | 5c 20 64 69 73 70 6f 73 | ; |\ dispos|
|000025f0| 65 20 6f 66 20 74 68 65 | 20 68 61 6e 64 6c 65 0d |e of the| handle.|
|00002600| 3a 20 50 41 53 54 45 20 | 28 20 2d 2d 20 29 20 6b |: PASTE |( -- ) k|
|00002610| 65 65 70 20 73 63 72 61 | 70 3e 73 74 61 63 6b 20 |eep scra|p>stack |
|00002620| 2e 63 61 6c 63 20 3b 0d | 0d 3a 20 46 3e 48 45 52 |.calc ;.|.: F>HER|
|00002630| 45 20 28 20 66 20 2d 2d | 20 66 20 29 20 5c 20 64 |E ( f --| f ) \ d|
|00002640| 69 73 70 6c 61 79 69 6e | 67 20 61 20 66 70 20 6e |isplayin|g a fp n|
|00002650| 75 6d 62 65 72 20 6c 65 | 61 76 65 73 20 61 20 63 |umber le|aves a c|
|00002660| 6f 70 79 20 61 74 20 68 | 65 72 65 0d 20 20 20 20 |opy at h|ere. |
|00002670| 40 70 65 6e 20 32 3e 72 | 20 31 20 2d 32 30 20 21 |@pen 2>r| 1 -20 !|
|00002680| 70 65 6e 20 66 64 75 70 | 20 66 2e 20 32 72 3e 20 |pen fdup| f. 2r> |
|00002690| 21 70 65 6e 20 3b 20 20 | 5c 20 63 6f 70 79 20 66 |!pen ; |\ copy f|
|000026a0| 20 74 6f 20 68 65 72 65 | 0d 3a 20 53 54 41 43 4b | to here|.: STACK|
|000026b0| 3e 53 43 52 41 50 20 28 | 20 66 20 2d 2d 20 66 20 |>SCRAP (| f -- f |
|000026c0| 29 20 5c 20 63 6f 70 79 | 20 66 20 74 6f 20 63 6c |) \ copy| f to cl|
|000026d0| 69 70 62 6f 61 72 64 0d | 20 20 20 20 30 20 30 20 |ipboard.| 0 0 |
|000026e0| 32 3e 72 20 20 2c 24 20 | 41 39 46 43 20 28 20 5f |2>r ,$ |A9FC ( _|
|000026f0| 5a 65 72 6f 53 63 72 61 | 70 20 29 0d 20 20 20 20 |ZeroScra|p ). |
|00002700| 66 3e 68 65 72 65 20 20 | 68 65 72 65 20 63 40 20 |f>here |here c@ |
|00002710| 30 20 32 3e 72 20 20 20 | 20 20 20 20 20 20 5c 20 |0 2>r | \ |
|00002720| 70 75 73 68 20 6c 65 6e | 67 74 68 20 74 6f 20 72 |push len|gth to r|
|00002730| 73 74 61 63 6b 0d 20 20 | 20 20 2c 73 20 54 45 58 |stack. | ,s TEX|
|00002740| 54 20 32 3e 72 20 20 20 | 20 20 20 20 20 20 20 20 |T 2>r | |
|00002750| 20 20 20 20 20 20 20 20 | 5c 20 73 63 72 61 70 20 | |\ scrap |
|00002760| 74 79 70 65 20 69 64 65 | 6e 74 69 66 69 65 72 0d |type ide|ntifier.|
|00002770| 20 20 20 20 68 65 72 65 | 20 31 2b 20 61 3e 72 20 | here| 1+ a>r |
|00002780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002790| 20 20 5c 20 61 64 64 72 | 20 6f 66 20 74 65 78 74 | \ addr| of text|
|000027a0| 0d 20 20 20 20 20 20 2c | 24 20 41 39 46 45 20 20 |. ,|$ A9FE |
|000027b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027c0| 20 20 20 5c 20 5f 50 75 | 74 53 63 72 61 70 0d 20 | \ _Pu|tScrap. |
|000027d0| 20 20 20 32 72 3e 20 2b | 20 49 46 20 62 65 65 70 | 2r> +| IF beep|
|000027e0| 20 54 48 45 4e 20 3b 20 | 20 20 20 20 20 20 20 20 | THEN ; | |
|000027f0| 20 5c 20 62 65 65 70 20 | 69 66 20 65 72 72 6f 72 | \ beep |if error|
|00002800| 0d 3a 20 43 4f 50 59 20 | 20 65 6e 74 65 72 20 75 |.: COPY | enter u|
|00002810| 6e 61 72 79 20 73 74 61 | 63 6b 3e 73 63 72 61 70 |nary sta|ck>scrap|
|00002820| 20 2e 63 61 6c 63 20 3b | 0d 3a 20 43 55 54 20 20 | .calc ;|.: CUT |
|00002830| 6b 65 65 70 20 65 6e 74 | 65 72 20 75 6e 61 72 79 |keep ent|er unary|
|00002840| 20 73 74 61 63 6b 3e 73 | 63 72 61 70 20 66 64 72 | stack>s|crap fdr|
|00002850| 6f 70 20 2e 63 61 6c 63 | 20 3b 0d 3a 20 43 4c 45 |op .calc| ;.: CLE|
|00002860| 41 52 20 20 6b 65 65 70 | 20 65 6d 70 74 79 5f 73 |AR keep| empty_s|
|00002870| 74 61 63 6b 20 2e 73 74 | 61 63 6b 20 3b 0d 0d 5c |tack .st|ack ;..\|
|00002880| 20 64 72 61 77 20 61 20 | 74 69 6e 79 20 68 65 6c | draw a |tiny hel|
|00002890| 70 20 73 63 72 65 65 6e | 20 28 49 66 20 74 75 72 |p screen| (If tur|
|000028a0| 6e 6b 65 79 69 6e 67 2c | 20 75 73 65 20 61 6e 20 |nkeying,| use an |
|000028b0| 61 6c 65 72 74 2e 29 0d | 3a 20 2e 48 45 4c 50 20 |alert.).|: .HELP |
|000028c0| 28 20 2d 2d 20 29 0d 20 | 20 20 20 34 20 2b 6d 64 |( -- ). | 4 +md|
|000028d0| 20 72 63 6c 69 70 20 20 | 70 61 67 65 20 20 6d 6f | rclip |page mo|
|000028e0| 6e 61 63 6f 39 20 20 38 | 20 21 66 73 69 7a 65 20 |naco9 8| !fsize |
|000028f0| 20 62 6c 75 65 0d 20 20 | 20 20 31 30 20 20 39 20 | blue. | 10 9 |
|00002900| 21 70 65 6e 20 2e 22 20 | 6c 20 20 6c 6f 47 20 20 |!pen ." |l loG |
|00002910| 20 20 20 6e 20 20 6e 61 | 74 20 6c 6f 47 20 20 20 | n na|t loG |
|00002920| 20 78 20 20 65 5e 20 20 | 20 20 20 2b 22 0d 20 20 | x e^ | +". |
|00002930| 20 20 31 30 20 31 37 20 | 21 70 65 6e 20 2e 22 20 | 10 17 |!pen ." |
|00002940| 5c 20 20 61 62 73 20 20 | 20 20 20 66 20 20 66 72 |\ abs | f fr|
|00002950| 61 63 74 69 6f 6e 20 20 | 20 69 20 20 69 6e 74 20 |action | i int |
|00002960| 20 20 20 2d 22 0d 20 20 | 20 20 31 30 20 32 35 20 | -". | 10 25 |
|00002970| 21 70 65 6e 20 2e 22 20 | 73 20 20 73 69 6e 20 20 |!pen ." |s sin |
|00002980| 20 20 20 63 20 20 63 6f | 73 20 20 20 20 20 20 20 | c co|s |
|00002990| 20 74 20 20 74 61 6e 20 | 20 20 20 2a 22 0d 20 20 | t tan | *". |
|000029a0| 20 20 31 30 20 33 33 20 | 21 70 65 6e 20 2e 22 20 | 10 33 |!pen ." |
|000029b0| 53 20 20 61 73 69 6e 20 | 20 20 20 43 20 20 61 63 |S asin | C ac|
|000029c0| 6f 73 20 20 20 20 20 20 | 20 54 20 20 61 74 61 6e |os | T atan|
|000029d0| 20 20 20 2f 22 0d 20 20 | 20 20 31 30 20 34 31 20 | /". | 10 41 |
|000029e0| 21 70 65 6e 20 2e 22 20 | 6f 50 74 2d 50 20 b8 20 |!pen ." |oPt-P . |
|000029f0| 20 20 20 72 20 20 72 61 | 64 69 61 6e 73 20 20 20 | r ra|dians |
|00002a00| 20 64 20 20 64 65 47 20 | 20 20 20 5e 22 0d 20 20 | d deG | ^". |
|00002a10| 20 20 31 30 20 34 39 20 | 21 70 65 6e 20 2e 22 20 | 10 49 |!pen ." |
|00002a20| 64 6e 2f 64 65 6c 20 64 | 72 6f 50 20 20 20 20 20 |dn/del d|roP |
|00002a30| 20 20 20 20 75 50 20 20 | 64 75 50 6c 69 63 61 74 | uP |duPlicat|
|00002a40| 65 22 0d 20 20 20 20 31 | 30 20 35 37 20 21 70 65 |e". 1|0 57 !pe|
|00002a50| 6e 20 2e 22 20 6c 65 66 | 74 20 20 73 77 61 50 20 |n ." lef|t swaP |
|00002a60| 20 20 20 20 20 20 20 20 | 20 72 69 47 68 74 20 20 | | riGht |
|00002a70| 72 6f 6c 6c 22 0d 20 20 | 20 20 31 30 20 36 35 20 |roll". | 10 65 |
|00002a80| 21 70 65 6e 20 2e 22 20 | 3d 20 63 68 61 6e 47 65 |!pen ." |= chanGe|
|00002a90| 20 73 69 47 6e 20 20 20 | 20 20 20 20 d1 20 72 65 | siGn | . re|
|00002aa0| 63 69 50 72 69 63 6f 6c | 22 0d 20 20 20 20 31 30 |ciPricol|". 10|
|00002ab0| 20 37 33 20 21 70 65 6e | 20 2e 22 20 5b 20 6c 65 | 73 !pen| ." [ le|
|00002ac0| 73 73 20 70 6c 61 63 65 | 73 20 20 20 20 20 20 20 |ss place|s |
|00002ad0| 5d 20 6d 6f 72 65 20 70 | 6c 61 63 65 73 22 0d 20 |] more p|laces". |
|00002ae0| 20 20 20 62 6c 61 63 6b | 20 62 75 66 66 65 72 5f | black| buffer_|
|00002af0| 72 65 63 74 20 72 66 72 | 61 6d 65 0d 20 20 20 20 |rect rfr|ame. |
|00002b00| 32 32 20 39 30 20 21 70 | 65 6e 20 73 79 73 66 6f |22 90 !p|en sysfo|
|00002b10| 6e 74 20 72 65 64 20 20 | 2e 22 20 50 72 65 73 73 |nt red |." Press|
|00002b20| 20 61 20 6b 65 79 20 74 | 6f 20 67 6f 20 6f 6e 2e | a key t|o go on.|
|00002b30| 22 20 3b 0d 0d 0d 5c 20 | 64 65 66 69 6e 65 20 61 |" ;...\ |define a|
|00002b40| 6e 64 20 65 78 65 63 75 | 74 65 20 63 6f 6d 6d 61 |nd execu|te comma|
|00002b50| 6e 64 73 20 76 69 61 20 | 61 20 6c 6f 6f 6b 20 75 |nds via |a look u|
|00002b60| 70 20 74 61 62 6c 65 3a | 0d 5c 20 20 20 20 20 20 |p table:|.\ |
|00002b70| 33 32 20 62 69 74 20 65 | 6e 74 69 65 73 3a 20 20 |32 bit e|nties: |
|00002b80| 6b 65 79 2e 63 68 61 72 | 28 31 36 29 2c 20 72 65 |key.char|(16), re|
|00002b90| 6c 2e 61 64 64 72 28 31 | 36 29 0d 5c 0d 76 61 72 |l.addr(1|6).\.var|
|00002ba0| 69 61 62 6c 65 20 23 44 | 45 46 53 20 20 30 20 23 |iable #D|EFS 0 #|
|00002bb0| 64 65 66 73 20 21 20 20 | 20 20 5c 20 6e 75 6d 62 |defs ! | \ numb|
|00002bc0| 65 72 20 6f 66 20 6b 65 | 79 73 20 64 65 66 69 6e |er of ke|ys defin|
|00002bd0| 65 64 0d 34 30 30 20 63 | 6f 6e 73 74 61 6e 74 20 |ed.400 c|onstant |
|00002be0| 44 45 46 2e 54 41 42 4c | 45 2e 53 49 5a 45 20 20 |DEF.TABL|E.SIZE |
|00002bf0| 5c 20 61 6d 6f 75 6e 74 | 20 6f 66 20 73 70 61 63 |\ amount| of spac|
|00002c00| 65 20 66 6f 72 20 6b 65 | 79 20 64 65 66 2e 20 74 |e for ke|y def. t|
|00002c10| 61 62 6c 65 0d 76 61 72 | 69 61 62 6c 65 20 44 45 |able.var|iable DE|
|00002c20| 46 2e 54 41 42 4c 45 20 | 20 64 65 66 2e 74 61 62 |F.TABLE | def.tab|
|00002c30| 6c 65 2e 73 69 7a 65 20 | 61 6c 6c 6f 74 20 20 5c |le.size |allot \|
|00002c40| 20 6b 65 79 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 | key def|inition |
|00002c50| 74 61 62 6c 65 0d 0d 5c | 20 66 69 6e 64 20 61 20 |table..\| find a |
|00002c60| 63 68 61 72 61 63 74 65 | 72 20 69 6e 20 74 68 65 |characte|r in the|
|00002c70| 20 74 61 62 6c 65 2c 20 | 72 65 74 75 72 6e 20 69 | table, |return i|
|00002c80| 74 73 20 69 6e 64 65 78 | 0d 3a 20 43 48 41 52 3e |ts index|.: CHAR>|
|00002c90| 49 4e 44 45 58 20 28 20 | 63 20 2d 2d 20 6e 20 29 |INDEX ( |c -- n )|
|00002ca0| 20 20 5c 20 63 20 3d 20 | 63 68 61 72 61 63 74 65 | \ c = |characte|
|00002cb0| 72 20 28 6b 65 79 20 70 | 72 65 73 73 65 64 29 20 |r (key p|ressed) |
|00002cc0| 0d 20 20 20 20 30 20 73 | 77 61 70 20 20 23 64 65 |. 0 s|wap #de|
|00002cd0| 66 73 20 40 20 30 20 44 | 4f 20 20 20 20 20 20 20 |fs @ 0 D|O |
|00002ce0| 20 20 20 20 5c 20 66 6f | 72 20 65 61 63 68 20 64 | \ fo|r each d|
|00002cf0| 65 66 69 6e 65 64 20 6b | 65 79 0d 20 20 20 20 20 |efined k|ey. |
|00002d00| 20 72 20 34 20 2a 20 20 | 64 65 66 2e 74 61 62 6c | r 4 * |def.tabl|
|00002d10| 65 20 2b 20 40 20 20 20 | 20 20 20 20 20 20 5c 20 |e + @ | \ |
|00002d20| 63 68 65 63 6b 20 74 68 | 65 20 6b 65 79 2e 63 68 |check th|e key.ch|
|00002d30| 61 72 0d 20 20 20 20 20 | 20 6f 76 65 72 20 3d 20 |ar. | over = |
|00002d40| 49 46 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |IF | |
|00002d50| 20 20 20 20 20 20 5c 20 | 69 66 20 69 74 27 73 20 | \ |if it's |
|00002d60| 61 20 6d 61 74 63 68 0d | 20 20 20 20 20 20 20 20 |a match.| |
|00002d70| 73 77 61 70 20 64 72 6f | 70 20 72 20 31 2b 20 73 |swap dro|p r 1+ s|
|00002d80| 77 61 70 20 4c 45 41 56 | 45 20 20 5c 20 6c 65 61 |wap LEAV|E \ lea|
|00002d90| 76 65 20 69 6e 64 65 78 | 20 69 6e 74 6f 20 74 61 |ve index| into ta|
|00002da0| 62 6c 65 20 6f 6e 20 73 | 74 61 63 6b 0d 20 20 20 |ble on s|tack. |
|00002db0| 20 54 48 45 4e 20 20 4c | 4f 4f 50 20 64 72 6f 70 | THEN L|OOP drop|
|00002dc0| 20 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | ; | |
|00002dd0| 5c 20 6e 3d 30 20 69 66 | 20 6e 6f 20 6d 61 74 63 |\ n=0 if| no matc|
|00002de0| 68 0d 0d 5c 20 67 65 74 | 20 74 68 65 20 65 78 65 |h..\ get| the exe|
|00002df0| 63 75 74 69 6f 6e 20 61 | 64 64 72 65 73 73 20 6f |cution a|ddress o|
|00002e00| 66 20 69 74 65 6d 20 6e | 20 69 6e 20 6b 65 79 20 |f item n| in key |
|00002e10| 64 65 66 69 6e 69 74 69 | 6f 6e 20 74 61 62 6c 65 |definiti|on table|
|00002e20| 0d 3a 20 49 4e 44 45 58 | 45 44 5f 52 4f 55 54 49 |.: INDEX|ED_ROUTI|
|00002e30| 4e 45 20 28 20 6e 20 2d | 2d 20 61 64 64 72 20 29 |NE ( n -|- addr )|
|00002e40| 20 20 5c 20 6e 20 3d 20 | 31 20 62 61 73 65 64 20 | \ n = |1 based |
|00002e50| 69 6e 64 65 78 20 69 6e | 74 6f 20 64 65 66 2e 74 |index in|to def.t|
|00002e60| 61 62 6c 65 0d 20 20 20 | 20 20 31 20 2d 20 34 20 |able. | 1 - 4 |
|00002e70| 2a 20 64 65 66 2e 74 61 | 62 6c 65 20 2b 20 32 2b |* def.ta|ble + 2+|
|00002e80| 20 40 20 3b 20 20 5c 20 | 61 64 64 72 20 3d 20 61 | @ ; \ |addr = a|
|00002e90| 73 73 6f 63 69 61 74 65 | 64 20 65 78 65 63 75 74 |ssociate|d execut|
|00002ea0| 69 6f 6e 20 61 64 64 72 | 65 73 73 0d 0d 5c 20 68 |ion addr|ess..\ h|
|00002eb0| 61 6e 64 6c 65 20 63 6f | 6d 6d 61 6e 64 20 6b 65 |andle co|mmand ke|
|00002ec0| 79 20 70 72 65 73 73 65 | 73 0d 3a 20 44 4f 43 4f |y presse|s.: DOCO|
|00002ed0| 4d 4d 41 4e 44 20 28 20 | 2d 2d 20 29 20 20 5c 20 |MMAND ( |-- ) \ |
|00002ee0| 65 78 65 63 75 74 65 20 | 72 6f 75 74 69 6e 65 20 |execute |routine |
|00002ef0| 61 73 73 6f 63 69 61 74 | 65 64 20 77 69 74 68 20 |associat|ed with |
|00002f00| 63 68 61 72 20 69 6e 20 | 6b 66 6c 61 67 0d 20 20 |char in |kflag. |
|00002f10| 20 20 40 6b 65 79 20 63 | 68 61 72 3e 69 6e 64 65 | @key c|har>inde|
|00002f20| 78 20 3f 64 75 70 20 49 | 46 20 20 69 6e 64 65 78 |x ?dup I|F index|
|00002f30| 65 64 5f 72 6f 75 74 69 | 6e 65 20 65 78 65 63 75 |ed_routi|ne execu|
|00002f40| 74 65 20 54 48 45 4e 20 | 3b 0d 0d 5c 20 68 61 6e |te THEN |;..\ han|
|00002f50| 64 6c 65 20 6e 75 6d 65 | 72 69 63 20 6b 65 79 20 |dle nume|ric key |
|00002f60| 70 72 65 73 73 65 73 0d | 3a 20 44 4f 4e 55 4d 42 |presses.|: DONUMB|
|00002f70| 45 52 20 28 20 2d 2d 20 | 29 20 20 5c 20 69 66 20 |ER ( -- |) \ if |
|00002f80| 63 68 61 72 20 69 6e 20 | 6b 66 6c 61 67 20 69 73 |char in |kflag is|
|00002f90| 20 6e 75 6d 65 72 69 63 | 2c 20 70 75 74 20 69 74 | numeric|, put it|
|00002fa0| 20 69 6e 74 6f 20 62 75 | 66 66 65 72 0d 20 20 20 | into bu|ffer. |
|00002fb0| 20 40 6b 65 79 20 3f 6e | 75 6d 65 72 69 63 20 20 | @key ?n|umeric |
|00002fc0| 23 63 68 61 72 73 20 31 | 39 20 3c 20 61 6e 64 20 |#chars 1|9 < and |
|00002fd0| 49 46 20 20 6b 65 79 3e | 62 75 66 66 65 72 20 2e |IF key>|buffer .|
|00002fe0| 62 75 66 66 65 72 20 20 | 54 48 45 4e 20 3b 0d 0d |buffer |THEN ;..|
|00002ff0| 5c 20 68 61 6e 64 6c 65 | 20 61 6e 79 20 63 68 61 |\ handle| any cha|
|00003000| 72 61 63 74 65 72 0d 3a | 20 44 4f 4b 45 59 20 28 |racter.:| DOKEY (|
|00003010| 20 63 20 2d 2d 20 29 20 | 21 6b 65 79 20 64 6f 6e | c -- ) |!key don|
|00003020| 75 6d 62 65 72 20 64 6f | 63 6f 6d 6d 61 6e 64 20 |umber do|command |
|00003030| 3b 20 20 5c 20 70 72 6f | 63 65 73 73 20 61 20 63 |; \ pro|cess a c|
|00003040| 68 61 72 61 63 74 65 72 | 0d 0d 5c 20 46 69 6c 6c |haracter|..\ Fill|
|00003050| 20 74 68 65 20 74 61 62 | 6c 65 20 77 69 74 68 20 | the tab|le with |
|00003060| 61 73 63 69 69 20 63 68 | 61 72 61 63 74 65 72 73 |ascii ch|aracters|
|00003070| 20 61 6e 64 20 65 78 65 | 63 75 74 69 6f 6e 20 61 | and exe|cution a|
|00003080| 64 64 72 65 73 73 65 73 | 0d 5c 20 64 65 66 69 6e |ddresses|.\ defin|
|00003090| 69 6e 67 20 77 6f 72 64 | 73 20 74 6f 20 63 72 65 |ing word|s to cre|
|000030a0| 61 74 65 20 72 6f 75 74 | 69 6e 65 73 20 66 6f 72 |ate rout|ines for|
|000030b0| 20 69 6e 64 69 76 69 64 | 75 61 6c 20 63 6f 6d 6d | individ|ual comm|
|000030c0| 61 6e 64 20 6b 65 79 73 | 0d 3a 20 3a 4b 20 28 20 |and keys|.: :K ( |
|000030d0| 2d 2d 20 61 64 64 72 20 | 29 20 20 5c 20 73 74 61 |-- addr |) \ sta|
|000030e0| 72 74 20 61 20 6b 65 79 | 20 64 65 66 69 6e 69 74 |rt a key| definit|
|000030f0| 69 6f 6e 0d 20 20 20 20 | 23 64 65 66 73 20 40 20 |ion. |#defs @ |
|00003100| 34 20 2a 20 34 20 2b 20 | 64 65 66 2e 74 61 62 6c |4 * 4 + |def.tabl|
|00003110| 65 2e 73 69 7a 65 20 3e | 20 49 46 20 20 5c 20 63 |e.size >| IF \ c|
|00003120| 68 65 63 6b 20 72 6f 6f | 6d 20 6c 65 66 74 20 69 |heck roo|m left i|
|00003130| 6e 20 74 61 62 6c 65 0d | 20 20 20 20 20 20 62 65 |n table.| be|
|00003140| 65 70 20 2e 22 20 4f 75 | 74 20 6f 66 20 6b 65 79 |ep ." Ou|t of key|
|00003150| 20 73 70 61 63 65 2e 22 | 20 71 75 69 74 20 20 20 | space."| quit |
|00003160| 20 5c 20 77 61 72 6e 20 | 69 66 20 74 61 62 6c 65 | \ warn |if table|
|00003170| 20 69 73 20 66 75 6c 6c | 0d 20 20 20 20 45 4c 53 | is full|. ELS|
|00003180| 45 20 20 68 65 72 65 20 | 5b 20 27 20 5d 20 63 6f |E here |[ ' ] co|
|00003190| 6d 70 69 6c 65 20 5d 20 | 54 48 45 4e 20 3b 20 20 |mpile ] |THEN ; |
|000031a0| 20 20 5c 20 6f 74 68 65 | 72 77 69 73 65 20 62 65 | \ othe|rwise be|
|000031b0| 67 69 6e 20 63 6f 6d 70 | 69 6c 69 6e 67 0d 3a 20 |gin comp|iling.: |
|000031c0| 41 53 53 49 47 4e 5f 4b | 45 59 20 28 20 61 64 64 |ASSIGN_K|EY ( add|
|000031d0| 72 20 63 20 2d 2d 20 29 | 20 20 20 5c 20 61 73 73 |r c -- )| \ ass|
|000031e0| 69 67 6e 20 61 20 63 68 | 61 72 20 61 6e 64 20 65 |ign a ch|ar and e|
|000031f0| 78 65 63 75 74 69 6f 6e | 20 61 64 64 72 0d 20 20 |xecution| addr. |
|00003200| 20 20 23 64 65 66 73 20 | 40 20 34 20 2a 20 64 65 | #defs |@ 4 * de|
|00003210| 66 2e 74 61 62 6c 65 20 | 2b 20 20 5c 20 2d 2d 20 |f.table |+ \ -- |
|00003220| 61 64 64 72 20 6f 66 20 | 6e 65 78 74 20 65 6e 74 |addr of |next ent|
|00003230| 72 79 20 69 6e 20 6b 65 | 79 20 64 65 66 20 74 61 |ry in ke|y def ta|
|00003240| 62 6c 65 0d 20 20 20 20 | 3e 72 20 20 72 20 21 20 |ble. |>r r ! |
|00003250| 72 3e 20 32 2b 20 21 20 | 20 20 20 20 20 20 20 20 |r> 2+ ! | |
|00003260| 20 5c 20 73 74 6f 72 65 | 20 61 64 64 72 20 61 6e | \ store| addr an|
|00003270| 64 20 63 68 61 72 20 69 | 6e 20 74 61 62 6c 65 0d |d char i|n table.|
|00003280| 20 20 20 20 31 20 23 64 | 65 66 73 20 2b 21 20 3b | 1 #d|efs +! ;|
|00003290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 69 | | \ i|
|000032a0| 6e 63 72 65 6d 65 6e 74 | 20 74 61 62 6c 65 20 69 |ncrement| table i|
|000032b0| 6e 64 65 78 0d 0d 5c 20 | 20 20 20 20 20 20 20 20 |ndex..\ | |
|000032c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000032d0| 6b 65 79 20 64 65 66 69 | 6e 69 74 69 6f 6e 73 0d |key defi|nitions.|
|000032e0| 5c 20 65 6e 74 65 72 20 | 26 20 72 65 74 75 72 6e |\ enter |& return|
|000032f0| 0d 3a 4b 20 20 3f 6f 76 | 65 72 66 6c 6f 77 20 49 |.:K ?ov|erflow I|
|00003300| 46 20 6b 65 65 70 20 20 | 20 5c 20 70 72 6f 74 65 |F keep | \ prote|
|00003310| 63 74 20 66 72 6f 6d 20 | 6f 76 65 72 66 6c 6f 77 |ct from |overflow|
|00003320| 0d 20 20 20 20 20 20 23 | 63 68 61 72 73 20 49 46 |. #|chars IF|
|00003330| 20 20 65 6e 74 65 72 20 | 20 20 5c 20 69 66 20 69 | enter | \ if i|
|00003340| 6e 70 75 74 74 69 6e 67 | 2c 20 70 75 74 20 6f 6e |nputting|, put on|
|00003350| 20 73 74 61 63 6b 0d 20 | 20 20 20 20 20 45 4c 53 | stack. | ELS|
|00003360| 45 20 20 75 6e 61 72 79 | 20 66 64 75 70 20 20 20 |E unary| fdup |
|00003370| 20 5c 20 6f 74 68 65 72 | 77 69 73 65 20 64 75 70 | \ other|wise dup|
|00003380| 6c 69 63 61 74 65 20 74 | 6f 70 20 6f 20 73 74 6b |licate t|op o stk|
|00003390| 0d 20 20 20 20 20 20 54 | 48 45 4e 20 2e 63 61 6c |. T|HEN .cal|
|000033a0| 63 20 20 20 20 20 20 20 | 20 20 20 20 5c 20 65 6e |c | \ en|
|000033b0| 74 65 72 20 26 20 72 65 | 74 75 72 6e 0d 20 20 20 |ter & re|turn. |
|000033c0| 20 45 4c 53 45 20 62 65 | 65 70 20 54 48 45 4e 20 | ELSE be|ep THEN |
|000033d0| 3b 20 20 64 75 70 20 20 | 33 20 61 73 73 69 67 6e |; dup |3 assign|
|000033e0| 5f 6b 65 79 20 20 31 33 | 20 61 73 73 69 67 6e 5f |_key 13| assign_|
|000033f0| 6b 65 79 0d 0d 5c 20 64 | 65 6c 65 74 65 0d 3a 4b |key..\ d|elete.:K|
|00003400| 20 20 23 63 68 61 72 73 | 20 49 46 0d 20 20 20 20 | #chars| IF. |
|00003410| 20 20 6b 62 75 66 66 20 | 63 40 20 20 31 2d 20 20 | kbuff |c@ 1- |
|00003420| 6b 62 75 66 66 20 63 21 | 20 20 5c 20 69 66 20 69 |kbuff c!| \ if i|
|00003430| 6e 70 75 74 74 69 6e 67 | 2c 20 62 61 63 6b 20 75 |nputting|, back u|
|00003440| 70 20 31 20 63 68 61 72 | 0d 20 20 20 20 20 20 2d |p 1 char|. -|
|00003450| 31 20 5e 6b 62 75 66 66 | 20 2b 21 20 20 2e 62 75 |1 ^kbuff| +! .bu|
|00003460| 66 66 65 72 20 20 20 20 | 20 5c 20 6f 74 68 65 72 |ffer | \ other|
|00003470| 77 69 73 65 20 64 72 6f | 70 20 66 72 6f 6d 20 73 |wise dro|p from s|
|00003480| 74 61 63 6b 0d 20 20 20 | 20 45 4c 53 45 20 20 6b |tack. | ELSE k|
|00003490| 65 65 70 20 75 6e 61 72 | 79 20 66 64 72 6f 70 20 |eep unar|y fdrop |
|000034a0| 2e 73 74 61 63 6b 20 20 | 54 48 45 4e 20 3b 20 20 |.stack |THEN ; |
|000034b0| 64 75 70 20 20 38 20 61 | 73 73 69 67 6e 5f 6b 65 |dup 8 a|ssign_ke|
|000034c0| 79 20 20 5c 20 64 65 6c | 20 3d 20 64 72 6f 70 0d |y \ del| = drop.|
|000034d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000034e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000034f0| 20 20 20 20 20 20 20 20 | 20 20 61 73 63 69 69 20 | | ascii |
|00003500| 44 20 61 73 73 69 67 6e | 5f 6b 65 79 20 20 20 5c |D assign|_key \|
|00003510| 20 6f 72 20 44 0d 5c 20 | 63 68 61 6e 67 65 20 73 | or D.\ |change s|
|00003520| 69 67 6e 0d 3a 4b 20 20 | 6b 65 65 70 20 65 6e 74 |ign.:K |keep ent|
|00003530| 65 72 20 75 6e 61 72 79 | 20 66 64 75 70 20 66 64 |er unary| fdup fd|
|00003540| 75 70 20 66 2b 20 66 2d | 20 2e 63 61 6c 63 20 3b |up f+ f-| .calc ;|
|00003550| 20 20 61 73 63 69 69 20 | 3d 20 61 73 73 69 67 6e | ascii |= assign|
|00003560| 5f 6b 65 79 20 20 5c 20 | 2b 2f 2d 20 73 69 67 6e |_key \ |+/- sign|
|00003570| 0d 0d 5c 20 6d 6f 72 65 | 2f 6c 65 73 73 20 64 69 |..\ more|/less di|
|00003580| 67 69 74 73 0d 3a 4b 20 | 20 70 6c 61 63 65 73 20 |gits.:K | places |
|00003590| 40 20 31 2d 20 20 30 20 | 6d 61 78 20 70 6c 61 63 |@ 1- 0 |max plac|
|000035a0| 65 73 20 21 20 2e 73 74 | 61 63 6b 20 3b 20 20 61 |es ! .st|ack ; a|
|000035b0| 73 63 69 69 20 5b 20 61 | 73 73 69 67 6e 5f 6b 65 |scii [ a|ssign_ke|
|000035c0| 79 20 20 5c 20 6c 65 73 | 73 20 70 6c 61 63 65 73 |y \ les|s places|
|000035d0| 0d 3a 4b 20 20 70 6c 61 | 63 65 73 20 40 20 31 2b |.:K pla|ces @ 1+|
|000035e0| 20 31 37 20 6d 69 6e 20 | 70 6c 61 63 65 73 20 21 | 17 min |places !|
|000035f0| 20 2e 73 74 61 63 6b 20 | 3b 20 20 61 73 63 69 69 | .stack |; ascii|
|00003600| 20 5d 20 61 73 73 69 67 | 6e 5f 6b 65 79 20 20 5c | ] assig|n_key \|
|00003610| 20 6d 6f 72 65 20 70 6c | 61 63 65 73 0d 0d 5c 20 | more pl|aces..\ |
|00003620| 73 74 61 63 6b 20 6d 61 | 6e 69 70 75 6c 61 74 69 |stack ma|nipulati|
|00003630| 6f 6e 0d 3a 4b 20 20 3f | 6f 76 65 72 66 6c 6f 77 |on.:K ?|overflow|
|00003640| 20 49 46 20 6b 65 65 70 | 20 75 6e 61 72 79 20 66 | IF keep| unary f|
|00003650| 64 75 70 20 2e 73 74 61 | 63 6b 20 20 54 48 45 4e |dup .sta|ck THEN|
|00003660| 20 3b 20 20 33 30 20 61 | 73 73 69 67 6e 5f 6b 65 | ; 30 a|ssign_ke|
|00003670| 79 20 20 5c 20 75 70 20 | 3d 20 64 75 70 0d 3a 4b |y \ up |= dup.:K|
|00003680| 20 20 6b 65 65 70 20 75 | 6e 61 72 79 20 66 64 72 | keep u|nary fdr|
|00003690| 6f 70 20 2e 73 74 61 63 | 6b 20 3b 20 20 20 20 20 |op .stac|k ; |
|000036a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 33 | | 3|
|000036b0| 31 20 61 73 73 69 67 6e | 5f 6b 65 79 20 20 5c 20 |1 assign|_key \ |
|000036c0| 64 6f 77 6e 20 3d 20 64 | 72 6f 70 0d 3a 4b 20 20 |down = d|rop.:K |
|000036d0| 31 30 20 6e 65 65 64 73 | 20 30 3d 20 49 46 20 6b |10 needs| 0= IF k|
|000036e0| 65 65 70 20 66 73 77 61 | 70 20 2e 63 61 6c 63 20 |eep fswa|p .calc |
|000036f0| 54 48 45 4e 20 3b 20 20 | 20 20 20 20 20 32 38 20 |THEN ; | 28 |
|00003700| 61 73 73 69 67 6e 5f 6b | 65 79 20 20 5c 20 6c 65 |assign_k|ey \ le|
|00003710| 66 74 20 3d 20 73 77 61 | 70 0d 3a 4b 20 20 31 30 |ft = swa|p.:K 10|
|00003720| 20 6e 65 65 64 73 20 30 | 3d 20 49 46 0d 20 20 20 | needs 0|= IF. |
|00003730| 20 20 20 6b 65 65 70 20 | 64 65 70 74 68 20 35 20 | keep |depth 5 |
|00003740| 2f 20 66 72 6f 6c 6c 20 | 2e 63 61 6c 63 20 54 48 |/ froll |.calc TH|
|00003750| 45 4e 20 3b 20 20 20 20 | 20 20 20 20 20 20 32 39 |EN ; | 29|
|00003760| 20 61 73 73 69 67 6e 5f | 6b 65 79 20 20 5c 20 72 | assign_|key \ r|
|00003770| 69 67 68 74 20 3d 20 72 | 6f 6c 6c 0d 0d 5c 20 6d |ight = r|oll..\ m|
|00003780| 61 74 68 20 66 75 6e 63 | 74 69 6f 6e 73 0d 3a 4b |ath func|tions.:K|
|00003790| 20 20 6b 65 65 70 20 65 | 6e 74 65 72 20 62 69 6e | keep e|nter bin|
|000037a0| 61 72 79 20 66 2b 20 2e | 63 61 6c 63 20 3b 20 20 |ary f+ .|calc ; |
|000037b0| 61 73 63 69 69 20 2b 20 | 61 73 73 69 67 6e 5f 6b |ascii + |assign_k|
|000037c0| 65 79 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 70 |ey | \ p|
|000037d0| 6c 75 73 0d 3a 4b 20 20 | 23 63 68 61 72 73 20 5e |lus.:K |#chars ^|
|000037e0| 6b 62 75 66 66 20 40 20 | 31 2d 20 63 40 20 64 75 |kbuff @ |1- c@ du|
|000037f0| 70 20 3e 72 20 20 20 20 | 20 5c 20 69 66 20 70 72 |p >r | \ if pr|
|00003800| 65 76 20 63 68 61 72 20 | 69 73 20 65 20 6f 72 20 |ev char |is e or |
|00003810| 45 0d 20 20 20 20 31 30 | 31 20 3d 20 72 3e 20 36 |E. 10|1 = r> 6|
|00003820| 39 20 3d 20 6f 72 20 61 | 6e 64 20 49 46 20 20 20 |9 = or a|nd IF |
|00003830| 20 20 20 20 20 20 20 5c | 20 74 68 65 6e 20 69 74 | \| then it|
|00003840| 73 20 61 20 6e 65 67 61 | 74 69 76 65 20 65 78 70 |s a nega|tive exp|
|00003850| 6f 6e 65 6e 74 0d 20 20 | 20 20 20 20 6b 65 79 3e |onent. | key>|
|00003860| 62 75 66 66 65 72 20 2e | 62 75 66 66 65 72 20 45 |buffer .|buffer E|
|00003870| 4c 53 45 20 20 20 20 20 | 20 20 20 5c 20 73 6f 20 |LSE | \ so |
|00003880| 70 75 74 20 69 74 20 69 | 6e 20 74 68 65 20 62 75 |put it i|n the bu|
|00003890| 66 66 65 72 0d 20 20 20 | 20 20 20 6b 65 65 70 20 |ffer. | keep |
|000038a0| 65 6e 74 65 72 20 62 69 | 6e 61 72 79 20 66 2d 20 |enter bi|nary f- |
|000038b0| 2e 63 61 6c 63 20 54 48 | 45 4e 20 3b 20 20 61 73 |.calc TH|EN ; as|
|000038c0| 63 69 69 20 2d 20 61 73 | 73 69 67 6e 5f 6b 65 79 |cii - as|sign_key|
|000038d0| 20 20 20 20 5c 20 6d 69 | 6e 75 73 0d 3a 4b 20 20 | \ mi|nus.:K |
|000038e0| 6b 65 65 70 20 65 6e 74 | 65 72 20 62 69 6e 61 72 |keep ent|er binar|
|000038f0| 79 20 66 2a 20 2e 63 61 | 6c 63 20 3b 20 20 61 73 |y f* .ca|lc ; as|
|00003900| 63 69 69 20 2a 20 61 73 | 73 69 67 6e 5f 6b 65 79 |cii * as|sign_key|
|00003910| 20 20 20 20 20 20 20 20 | 20 20 20 5c 20 74 69 6d | | \ tim|
|00003920| 65 73 0d 3a 4b 20 20 6b | 65 65 70 20 65 6e 74 65 |es.:K k|eep ente|
|00003930| 72 20 62 69 6e 61 72 79 | 20 66 2f 20 2e 63 61 6c |r binary| f/ .cal|
|00003940| 63 20 3b 20 20 61 73 63 | 69 69 20 2f 20 61 73 73 |c ; asc|ii / ass|
|00003950| 69 67 6e 5f 6b 65 79 20 | 20 20 20 20 20 20 20 20 |ign_key | |
|00003960| 20 20 5c 20 64 69 76 69 | 64 65 0d 3a 4b 20 20 6b | \ divi|de.:K k|
|00003970| 65 65 70 20 65 6e 74 65 | 72 20 62 69 6e 61 72 79 |eep ente|r binary|
|00003980| 20 66 5e 20 2e 63 61 6c | 63 20 3b 20 20 61 73 63 | f^ .cal|c ; asc|
|00003990| 69 69 20 5e 20 61 73 73 | 69 67 6e 5f 6b 65 79 20 |ii ^ ass|ign_key |
|000039a0| 20 20 20 20 20 20 20 20 | 20 20 5c 20 65 78 70 6f | | \ expo|
|000039b0| 6e 65 6e 74 0d 3a 4b 20 | 20 6b 65 65 70 20 65 6e |nent.:K | keep en|
|000039c0| 74 65 72 20 75 6e 61 72 | 79 20 2d 31 2e 30 20 66 |ter unar|y -1.0 f|
|000039d0| 5e 20 2e 63 61 6c 63 20 | 3b 20 20 61 73 63 69 69 |^ .calc |; ascii|
|000039e0| 20 5f 20 61 73 73 69 67 | 6e 5f 6b 65 79 20 20 20 | _ assig|n_key |
|000039f0| 20 20 20 20 5c 20 72 65 | 63 69 70 72 69 63 6f 6c | \ re|cipricol|
|00003a00| 0d 3a 4b 20 20 6b 65 65 | 70 20 65 6e 74 65 72 20 |.:K kee|p enter |
|00003a10| 75 6e 61 72 79 20 66 6c | 6e 20 2e 63 61 6c 63 20 |unary fl|n .calc |
|00003a20| 3b 20 20 61 73 63 69 69 | 20 6e 20 61 73 73 69 67 |; ascii| n assig|
|00003a30| 6e 5f 6b 65 79 20 20 20 | 20 20 20 20 20 20 20 20 |n_key | |
|00003a40| 5c 20 6e 61 74 2e 20 6c | 6f 67 0d 3a 4b 20 20 6b |\ nat. l|og.:K k|
|00003a50| 65 65 70 20 65 6e 74 65 | 72 20 75 6e 61 72 79 20 |eep ente|r unary |
|00003a60| 66 65 78 70 20 2e 63 61 | 6c 63 20 3b 20 20 61 73 |fexp .ca|lc ; as|
|00003a70| 63 69 69 20 78 20 61 73 | 73 69 67 6e 5f 6b 65 79 |cii x as|sign_key|
|00003a80| 20 20 20 20 20 20 20 20 | 20 20 5c 20 65 5e 78 0d | | \ e^x.|
|00003a90| 3a 4b 20 20 6b 65 65 70 | 20 65 6e 74 65 72 20 75 |:K keep| enter u|
|00003aa0| 6e 61 72 79 20 66 61 62 | 73 20 2e 63 61 6c 63 20 |nary fab|s .calc |
|00003ab0| 3b 20 20 61 73 63 69 69 | 20 5c 20 61 73 73 69 67 |; ascii| \ assig|
|00003ac0| 6e 5f 6b 65 79 20 20 20 | 20 20 20 20 20 20 20 5c |n_key | \|
|00003ad0| 20 61 62 73 2e 20 76 61 | 6c 75 65 0d 3a 4b 20 20 | abs. va|lue.:K |
|00003ae0| 6b 65 65 70 20 65 6e 74 | 65 72 20 75 6e 61 72 79 |keep ent|er unary|
|00003af0| 20 66 69 6e 74 20 2e 63 | 61 6c 63 20 3b 20 20 61 | fint .c|alc ; a|
|00003b00| 73 63 69 69 20 69 20 61 | 73 73 69 67 6e 5f 6b 65 |scii i a|ssign_ke|
|00003b10| 79 20 20 20 20 20 20 20 | 20 20 20 5c 20 69 6e 74 |y | \ int|
|00003b20| 2e 20 70 61 72 74 0d 3a | 4b 20 20 6b 65 65 70 20 |. part.:|K keep |
|00003b30| 65 6e 74 65 72 20 75 6e | 61 72 79 20 66 64 75 70 |enter un|ary fdup|
|00003b40| 20 66 69 6e 74 20 66 2d | 20 2e 63 61 6c 63 20 3b | fint f-| .calc ;|
|00003b50| 20 20 61 73 63 69 69 20 | 66 20 61 73 73 69 67 6e | ascii |f assign|
|00003b60| 5f 6b 65 79 20 20 5c 20 | 66 72 61 63 2e 0d 3a 4b |_key \ |frac..:K|
|00003b70| 20 20 6b 65 65 70 20 65 | 6e 74 65 72 20 75 6e 61 | keep e|nter una|
|00003b80| 72 79 20 61 74 79 70 65 | 20 66 40 20 66 2f 20 66 |ry atype| f@ f/ f|
|00003b90| 73 69 6e 20 2e 63 61 6c | 63 20 3b 20 20 61 73 63 |sin .cal|c ; asc|
|00003ba0| 69 69 20 73 20 61 73 73 | 69 67 6e 5f 6b 65 79 20 |ii s ass|ign_key |
|00003bb0| 20 20 5c 20 73 69 6e 0d | 3a 4b 20 20 6b 65 65 70 | \ sin.|:K keep|
|00003bc0| 20 65 6e 74 65 72 20 75 | 6e 61 72 79 20 61 74 79 | enter u|nary aty|
|00003bd0| 70 65 20 66 40 20 66 2f | 20 66 63 6f 73 20 2e 63 |pe f@ f/| fcos .c|
|00003be0| 61 6c 63 20 3b 20 20 61 | 73 63 69 69 20 63 20 61 |alc ; a|scii c a|
|00003bf0| 73 73 69 67 6e 5f 6b 65 | 79 20 20 20 5c 20 63 6f |ssign_ke|y \ co|
|00003c00| 73 0d 3a 4b 20 20 6b 65 | 65 70 20 65 6e 74 65 72 |s.:K ke|ep enter|
|00003c10| 20 75 6e 61 72 79 20 61 | 74 79 70 65 20 66 40 20 | unary a|type f@ |
|00003c20| 66 2f 20 66 74 61 6e 20 | 2e 63 61 6c 63 20 3b 20 |f/ ftan |.calc ; |
|00003c30| 20 61 73 63 69 69 20 74 | 20 61 73 73 69 67 6e 5f | ascii t| assign_|
|00003c40| 6b 65 79 20 20 20 5c 20 | 74 61 6e 0d 3a 4b 20 20 |key \ |tan.:K |
|00003c50| 6b 65 65 70 20 65 6e 74 | 65 72 20 75 6e 61 72 79 |keep ent|er unary|
|00003c60| 20 61 63 6f 73 20 61 74 | 79 70 65 20 66 40 20 66 | acos at|ype f@ f|
|00003c70| 2a 20 2e 63 61 6c 63 20 | 3b 20 20 61 73 63 69 69 |* .calc |; ascii|
|00003c80| 20 43 20 61 73 73 69 67 | 6e 5f 6b 65 79 20 20 20 | C assig|n_key |
|00003c90| 5c 20 61 63 6f 73 0d 3a | 4b 20 20 6b 65 65 70 20 |\ acos.:|K keep |
|00003ca0| 65 6e 74 65 72 20 75 6e | 61 72 79 20 66 61 74 6e |enter un|ary fatn|
|00003cb0| 20 61 74 79 70 65 20 66 | 40 20 66 2a 20 2e 63 61 | atype f|@ f* .ca|
|00003cc0| 6c 63 20 3b 20 20 61 73 | 63 69 69 20 54 20 61 73 |lc ; as|cii T as|
|00003cd0| 73 69 67 6e 5f 6b 65 79 | 20 20 20 5c 20 61 74 61 |sign_key| \ ata|
|00003ce0| 6e 0d 3a 4b 20 20 6b 65 | 65 70 20 65 6e 74 65 72 |n.:K ke|ep enter|
|00003cf0| 20 75 6e 61 72 79 20 61 | 73 69 6e 20 61 74 79 70 | unary a|sin atyp|
|00003d00| 65 20 66 40 20 66 2a 20 | 2e 63 61 6c 63 20 3b 20 |e f@ f* |.calc ; |
|00003d10| 20 61 73 63 69 69 20 53 | 20 61 73 73 69 67 6e 5f | ascii S| assign_|
|00003d20| 6b 65 79 20 20 20 5c 20 | 61 73 69 6e 0d 3a 4b 20 |key \ |asin.:K |
|00003d30| 20 3f 6f 76 65 72 66 6c | 6f 77 20 49 46 20 6b 65 | ?overfl|ow IF ke|
|00003d40| 65 70 20 70 69 20 2e 73 | 74 61 63 6b 20 20 45 4c |ep pi .s|tack EL|
|00003d50| 53 45 20 62 65 65 70 20 | 54 48 45 4e 20 3b 20 20 |SE beep |THEN ; |
|00003d60| 61 73 63 69 69 20 b9 20 | 61 73 73 69 67 6e 5f 6b |ascii . |assign_k|
|00003d70| 65 79 20 20 5c 20 70 69 | 0d 3a 4b 20 20 6b 65 65 |ey \ pi|.:K kee|
|00003d80| 70 20 65 6e 74 65 72 20 | 75 6e 61 72 79 20 6c 6f |p enter |unary lo|
|00003d90| 67 20 2e 63 61 6c 63 20 | 3b 20 20 61 73 63 69 69 |g .calc |; ascii|
|00003da0| 20 6c 20 61 73 73 69 67 | 6e 5f 6b 65 79 20 20 20 | l assig|n_key |
|00003db0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 5c 20 6c | | \ l|
|00003dc0| 6f 67 0d 0d 5c 20 73 65 | 74 20 64 65 67 72 65 65 |og..\ se|t degree|
|00003dd0| 73 20 6f 72 20 72 61 64 | 69 61 6e 73 20 66 6f 72 |s or rad|ians for|
|00003de0| 20 74 72 69 67 20 66 75 | 6e 63 74 69 6f 6e 73 0d | trig fu|nctions.|
|00003df0| 3a 4b 20 20 31 2e 30 20 | 61 74 79 70 65 20 66 21 |:K 1.0 |atype f!|
|00003e00| 20 2e 63 61 6c 63 20 3b | 20 20 61 73 63 69 69 20 | .calc ;| ascii |
|00003e10| 72 20 61 73 73 69 67 6e | 5f 6b 65 79 20 20 5c 20 |r assign|_key \ |
|00003e20| 72 61 64 69 61 6e 73 0d | 3a 4b 20 20 64 2f 72 20 |radians.|:K d/r |
|00003e30| 61 74 79 70 65 20 66 21 | 20 2e 63 61 6c 63 20 3b |atype f!| .calc ;|
|00003e40| 20 20 61 73 63 69 69 20 | 64 20 61 73 73 69 67 6e | ascii |d assign|
|00003e50| 5f 6b 65 79 20 20 5c 20 | 64 65 67 72 65 65 73 0d |_key \ |degrees.|
|00003e60| 0d 5c 20 68 65 6c 70 3a | 20 64 72 61 77 73 20 61 |.\ help:| draws a|
|00003e70| 20 6c 69 74 74 6c 65 20 | 74 61 62 6c 65 20 6f 66 | little |table of|
|00003e80| 20 6b 65 79 20 61 73 73 | 69 67 6e 6d 65 6e 74 73 | key ass|ignments|
|00003e90| 0d 3a 4b 20 20 5b 27 5d | 20 2e 68 65 6c 70 20 31 |.:K [']| .help 1|
|00003ea0| 34 20 2b 6d 64 20 21 20 | 20 20 20 20 20 20 20 20 |4 +md ! | |
|00003eb0| 20 20 20 20 5c 20 73 65 | 74 20 75 70 64 61 74 65 | \ se|t update|
|00003ec0| 20 0d 20 20 20 20 2e 68 | 65 6c 70 20 20 42 45 47 | . .h|elp BEG|
|00003ed0| 49 4e 20 3f 74 65 72 6d | 69 6e 61 6c 20 55 4e 54 |IN ?term|inal UNT|
|00003ee0| 49 4c 20 20 20 20 5c 20 | 64 69 73 70 6c 61 79 20 |IL \ |display |
|00003ef0| 61 6e 64 20 77 61 69 74 | 0d 20 20 20 20 5b 27 5d |and wait|. [']|
|00003f00| 20 2e 63 61 6c 63 20 31 | 34 20 2b 6d 64 20 21 20 | .calc 1|4 +md ! |
|00003f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5c 20 | | \ |
|00003f20| 72 65 73 65 74 20 75 70 | 64 61 74 65 20 20 0d 20 |reset up|date . |
|00003f30| 20 20 20 62 6c 61 63 6b | 20 70 61 67 65 20 2e 63 | black| page .c|
|00003f40| 61 6c 63 20 3b 20 20 61 | 73 63 69 69 20 3f 20 61 |alc ; a|scii ? a|
|00003f50| 73 73 69 67 6e 5f 6b 65 | 79 0d 0d 5c 20 74 61 62 |ssign_ke|y..\ tab|
|00003f60| 3a 20 72 65 74 75 72 6e | 73 20 74 6f 20 50 6f 63 |: return|s to Poc|
|00003f70| 6b 65 74 20 46 6f 72 74 | 68 2c 20 6b 65 65 70 73 |ket Fort|h, keeps|
|00003f80| 20 73 74 61 63 6b 20 61 | 6e 64 20 69 6e 70 75 74 | stack a|nd input|
|00003f90| 20 62 75 66 66 65 72 0d | 3a 4b 20 20 33 38 34 20 | buffer.|:K 384 |
|00003fa0| 31 37 38 20 77 73 69 7a | 65 20 20 22 70 6f 63 6b |178 wsiz|e "pock|
|00003fb0| 65 74 66 6f 72 74 68 22 | 20 77 74 69 74 6c 65 20 |etforth"| wtitle |
|00003fc0| 20 6d 6f 6e 61 63 6f 39 | 0d 20 20 20 20 62 69 67 | monaco9|. big|
|00003fd0| 5f 63 72 20 2e 22 20 54 | 79 70 65 20 d4 43 41 4c |_cr ." T|ype .CAL|
|00003fe0| 43 20 7b 72 65 74 75 72 | 6e 7d d5 20 74 6f 20 72 |C {retur|n}. to r|
|00003ff0| 65 74 75 72 6e 20 74 6f | 20 74 68 65 20 63 61 6c |eturn to| the cal|
|00004000| 63 75 6c 61 74 6f 72 2e | 22 20 63 72 0d 20 20 20 |culator.|" cr. |
|00004010| 20 5b 27 5d 20 62 65 65 | 70 20 20 31 38 20 2b 6d | ['] bee|p 18 +m|
|00004020| 64 20 40 20 20 32 2b 20 | 40 20 20 20 20 20 20 21 |d @ 2+ |@ !|
|00004030| 20 20 5c 20 72 65 73 65 | 74 20 75 6e 64 6f 20 68 | \ rese|t undo h|
|00004040| 61 6e 64 6c 65 72 0d 20 | 20 20 20 5b 27 5d 20 62 |andler. | ['] b|
|00004050| 65 65 70 20 20 31 38 20 | 2b 6d 64 20 40 20 20 32 |eep 18 |+md @ 2|
|00004060| 2b 20 40 20 20 34 20 2b | 20 21 20 20 5c 20 63 75 |+ @ 4 +| ! \ cu|
|00004070| 74 20 68 61 6e 64 6c 65 | 72 0d 20 20 20 20 5b 27 |t handle|r. ['|
|00004080| 5d 20 62 65 65 70 20 20 | 31 38 20 2b 6d 64 20 40 |] beep |18 +md @|
|00004090| 20 20 32 2b 20 40 20 20 | 36 20 2b 20 21 20 20 5c | 2+ @ |6 + ! \|
|000040a0| 20 63 6f 70 79 20 68 61 | 6e 64 6c 65 72 0d 20 20 | copy ha|ndler. |
|000040b0| 20 20 5b 27 5d 20 62 65 | 65 70 20 20 31 38 20 2b | ['] be|ep 18 +|
|000040c0| 6d 64 20 40 20 20 32 2b | 20 40 20 31 30 20 2b 20 |md @ 2+| @ 10 + |
|000040d0| 21 20 20 5c 20 63 6c 65 | 61 72 20 68 61 6e 64 6c |! \ cle|ar handl|
|000040e0| 65 72 0d 20 20 20 20 5b | 20 31 38 20 2b 6d 64 20 |er. [| 18 +md |
|000040f0| 40 20 20 32 2b 20 40 20 | 20 38 20 2b 20 40 20 6c |@ 2+ @ | 8 + @ l|
|00004100| 69 74 65 72 61 6c 20 5d | 20 31 38 20 2b 6d 64 20 |iteral ]| 18 +md |
|00004110| 40 20 20 32 2b 20 40 20 | 20 38 20 2b 20 21 20 20 |@ 2+ @ | 8 + ! |
|00004120| 5c 20 70 61 73 74 65 0d | 20 20 20 20 5b 20 31 34 |\ paste.| [ 14|
|00004130| 20 2b 6d 64 20 40 20 6c | 69 74 65 72 61 6c 20 5d | +md @ l|iteral ]|
|00004140| 20 20 31 34 20 2b 6d 64 | 20 21 20 20 20 20 20 5c | 14 +md| ! \|
|00004150| 20 72 65 73 65 74 20 75 | 70 64 61 74 65 20 68 61 | reset u|pdate ha|
|00004160| 6e 64 6c 65 72 0d 20 20 | 20 20 5b 20 27 20 66 6e |ndler. | [ ' fn|
|00004170| 75 6d 62 65 72 20 33 34 | 20 2b 20 40 20 6c 69 74 |umber 34| + @ lit|
|00004180| 65 72 61 6c 20 5d 20 20 | 5b 27 5d 20 66 6e 75 6d |eral ] |['] fnum|
|00004190| 62 65 72 20 33 34 20 2b | 20 20 21 20 20 5c 20 72 |ber 34 +| ! \ r|
|000041a0| 65 73 65 74 20 65 72 72 | 6f 72 0d 20 20 20 20 74 |eset err|or. t|
|000041b0| 69 62 20 38 30 20 33 32 | 20 66 69 6c 6c 20 20 20 |ib 80 32| fill |
|000041c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000041d0| 20 20 20 20 5c 20 63 6c | 65 61 72 20 69 6e 70 75 | \ cl|ear inpu|
|000041e0| 74 20 62 75 66 66 65 72 | 0d 20 20 20 20 74 69 62 |t buffer|. tib|
|000041f0| 20 3e 61 62 73 20 2c 24 | 20 32 38 35 45 20 28 20 | >abs ,$| 285E ( |
|00004200| 6d 6f 76 65 2e 6c 20 5b | 61 36 5d 2b 2c 61 34 20 |move.l [|a6]+,a4 |
|00004210| 29 20 20 5c 20 73 65 74 | 75 70 20 69 6e 70 75 74 |) \ set|up input|
|00004220| 20 62 75 66 66 65 72 0d | 20 20 20 20 71 75 69 74 | buffer.| quit|
|00004230| 20 3b 20 20 39 20 61 73 | 73 69 67 6e 5f 6b 65 79 | ; 9 as|sign_key|
|00004240| 20 20 28 20 74 61 62 20 | 29 0d 0d 3a 20 43 41 4c | ( tab |)..: CAL|
|00004250| 43 20 28 20 2d 2d 20 29 | 20 5c 20 73 65 74 75 70 |C ( -- )| \ setup|
|00004260| 20 61 6e 64 20 72 75 6e | 20 74 68 69 73 20 70 72 | and run| this pr|
|00004270| 6f 67 72 61 6d 0d 20 20 | 20 20 32 30 31 20 31 30 |ogram. | 201 10|
|00004280| 31 20 77 73 69 7a 65 20 | 20 22 63 61 6c 63 75 6c |1 wsize | "calcul|
|00004290| 61 74 6f 72 22 20 77 74 | 69 74 6c 65 20 20 5c 20 |ator" wt|itle \ |
|000042a0| 73 65 74 20 77 69 6e 64 | 6f 77 20 73 69 7a 65 20 |set wind|ow size |
|000042b0| 26 20 74 69 74 6c 65 0d | 20 20 20 20 70 61 67 65 |& title.| page|
|000042c0| 20 20 73 79 73 66 6f 6e | 74 20 20 20 20 20 20 20 | sysfon|t |
|000042d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000042e0| 5c 20 73 65 74 20 63 68 | 69 63 61 67 6f 20 31 32 |\ set ch|icago 12|
|000042f0| 20 66 6f 6e 74 0d 20 20 | 20 20 33 30 30 20 31 30 | font. | 300 10|
|00004300| 20 2b 6d 64 20 21 20 20 | 20 20 20 20 20 20 20 20 | +md ! | |
|00004310| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 5c 20 | | \ |
|00004320| 6d 6f 76 65 20 77 72 61 | 70 20 62 6f 75 6e 64 72 |move wra|p boundr|
|00004330| 79 20 72 69 67 68 74 0d | 20 20 20 20 5b 27 5d 20 |y right.| ['] |
|00004340| 75 6e 64 6f 20 20 20 31 | 38 20 2b 6d 64 20 40 20 |undo 1|8 +md @ |
|00004350| 20 32 2b 20 40 20 20 20 | 20 20 20 21 20 20 20 20 | 2+ @ | ! |
|00004360| 5c 20 73 65 74 20 75 6e | 64 6f 20 68 61 6e 64 6c |\ set un|do handl|
|00004370| 65 72 0d 20 20 20 20 5b | 27 5d 20 63 75 74 20 20 |er. [|'] cut |
|00004380| 20 20 31 38 20 2b 6d 64 | 20 40 20 20 32 2b 20 40 | 18 +md| @ 2+ @|
|00004390| 20 20 34 20 2b 20 21 20 | 20 20 20 5c 20 73 65 74 | 4 + ! | \ set|
|000043a0| 20 63 75 74 20 68 61 6e | 64 6c 65 72 0d 20 20 20 | cut han|dler. |
|000043b0| 20 5b 27 5d 20 63 6f 70 | 79 20 20 20 31 38 20 2b | ['] cop|y 18 +|
|000043c0| 6d 64 20 40 20 20 32 2b | 20 40 20 20 36 20 2b 20 |md @ 2+| @ 6 + |
|000043d0| 21 20 20 20 20 5c 20 73 | 65 74 20 63 6f 70 79 20 |! \ s|et copy |
|000043e0| 68 61 6e 64 6c 65 72 0d | 20 20 20 20 5b 27 5d 20 |handler.| ['] |
|000043f0| 70 61 73 74 65 20 20 31 | 38 20 2b 6d 64 20 40 20 |paste 1|8 +md @ |
|00004400| 20 32 2b 20 40 20 20 38 | 20 2b 20 21 20 20 20 20 | 2+ @ 8| + ! |
|00004410| 5c 20 73 65 74 20 70 61 | 73 74 65 20 68 61 6e 64 |\ set pa|ste hand|
|00004420| 6c 65 72 0d 20 20 20 20 | 5b 27 5d 20 63 6c 65 61 |ler. |['] clea|
|00004430| 72 20 20 31 38 20 2b 6d | 64 20 40 20 20 32 2b 20 |r 18 +m|d @ 2+ |
|00004440| 40 20 31 30 20 2b 20 21 | 20 20 20 20 5c 20 73 65 |@ 10 + !| \ se|
|00004450| 74 20 63 6c 65 61 72 20 | 68 61 6e 64 6c 65 72 0d |t clear |handler.|
|00004460| 20 20 20 20 6b 62 75 66 | 66 20 33 32 20 33 32 20 | kbuf|f 32 32 |
|00004470| 66 69 6c 6c 20 20 20 20 | 20 20 20 20 20 20 20 20 |fill | |
|00004480| 20 20 20 20 20 20 20 20 | 5c 20 65 6d 70 74 79 20 | |\ empty |
|00004490| 69 6e 70 75 74 20 62 75 | 66 66 65 72 0d 20 20 20 |input bu|ffer. |
|000044a0| 20 30 20 6b 62 75 66 66 | 20 21 20 20 66 69 72 73 | 0 kbuff| ! firs|
|000044b0| 74 5f 63 68 61 72 20 5e | 6b 62 75 66 66 20 21 20 |t_char ^|kbuff ! |
|000044c0| 20 20 20 20 20 5c 20 73 | 65 74 20 69 6e 70 75 74 | \ s|et input|
|000044d0| 20 62 75 66 66 65 72 20 | 0d 20 20 20 20 5b 27 5d | buffer |. [']|
|000044e0| 20 2e 63 61 6c 63 20 31 | 34 20 2b 6d 64 20 21 20 | .calc 1|4 +md ! |
|000044f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004500| 20 5c 20 73 65 74 20 75 | 70 64 61 74 65 20 65 76 | \ set u|pdate ev|
|00004510| 65 6e 74 0d 20 20 20 20 | 5b 27 5d 20 77 68 61 7a |ent. |['] whaz|
|00004520| 61 74 20 20 5b 27 5d 20 | 66 6e 75 6d 62 65 72 20 |at ['] |fnumber |
|00004530| 33 34 20 2b 20 21 20 20 | 20 20 20 20 5c 20 66 6e |34 + ! | \ fn|
|00004540| 75 6d 20 65 72 72 6f 72 | 0d 20 20 20 20 2e 63 61 |um error|. .ca|
|00004550| 6c 63 20 20 42 45 47 49 | 4e 20 20 6b 65 79 20 64 |lc BEGI|N key d|
|00004560| 6f 6b 65 79 20 20 41 47 | 41 49 4e 20 3b 20 20 20 |okey AG|AIN ; |
|00004570| 20 5c 20 64 6f 20 69 74 | 20 27 74 69 6c 20 71 75 | \ do it| 'til qu|
|00004580| 69 74 0d 0d 5c 20 20 20 | 54 6f 20 6d 61 6b 65 20 |it..\ |To make |
|00004590| 61 20 74 75 72 6e 6b 65 | 79 20 70 72 6f 67 72 61 |a turnke|y progra|
|000045a0| 6d 20 6f 66 20 74 68 69 | 73 2c 20 62 65 20 73 75 |m of thi|s, be su|
|000045b0| 72 65 20 74 6f 20 6c 6f | 61 64 20 74 68 69 73 20 |re to lo|ad this |
|000045c0| 66 69 6c 65 0d 5c 20 69 | 6e 74 6f 20 61 20 43 4f |file.\ i|nto a CO|
|000045d0| 50 59 20 6f 66 20 50 6f | 63 6b 65 74 20 46 6f 72 |PY of Po|cket For|
|000045e0| 74 68 2e 20 54 68 65 6e | 20 64 65 66 69 6e 65 20 |th. Then| define |
|000045f0| 61 6e 79 20 61 70 70 6c | 65 20 65 76 65 6e 74 73 |any appl|e events|
|00004600| 20 79 6f 75 0d 5c 20 77 | 61 6e 74 20 28 73 65 65 | you.\ w|ant (see|
|00004610| 20 41 70 70 6c 65 20 45 | 76 65 6e 74 20 65 78 61 | Apple E|vent exa|
|00004620| 6d 70 6c 65 73 29 20 61 | 6e 64 20 65 78 65 63 75 |mples) a|nd execu|
|00004630| 74 65 20 74 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |te the f|ollowing|
|00004640| 20 6c 69 6e 65 3a 0d 0d | 5c 20 20 20 20 20 27 20 | line:..|\ ' |
|00004650| 63 61 6c 63 20 32 36 20 | 2b 6d 64 20 21 20 20 73 |calc 26 |+md ! s|
|00004660| 61 76 65 20 62 79 65 20 | 20 20 20 20 20 20 20 20 |ave bye | |
|00004670| 5c 20 73 65 74 20 73 74 | 61 72 74 75 70 0d 0d 5c |\ set st|artup..\|
|00004680| 20 20 20 50 6f 63 6b 65 | 74 20 46 6f 72 74 68 20 | Pocke|t Forth |
|00004690| 77 69 6c 6c 20 71 75 69 | 74 2e 20 57 68 65 6e 20 |will qui|t. When |
|000046a0| 72 65 73 74 61 72 74 65 | 64 2c 20 74 68 65 20 63 |restarte|d, the c|
|000046b0| 61 6c 63 75 6c 61 74 6f | 72 20 70 72 6f 67 72 61 |alculato|r progra|
|000046c0| 6d 0d 5c 20 72 75 6e 20 | 61 75 74 6f 6d 61 74 69 |m.\ run |automati|
|000046d0| 63 61 6c 6c 79 2e 0d 5c | 20 20 20 55 73 65 20 52 |cally..\| Use R|
|000046e0| 65 73 65 64 69 74 20 74 | 6f 20 63 68 61 6e 67 65 |esedit t|o change|
|000046f0| 20 74 68 65 20 62 75 6e | 64 6c 65 2c 20 69 63 6f | the bun|dle, ico|
|00004700| 6e 2c 20 61 6e 64 20 73 | 69 67 6e 61 74 75 72 65 |n, and s|ignature|
|00004710| 20 72 65 73 6f 75 72 63 | 65 73 2c 0d 5c 20 61 73 | resourc|es,.\ as|
|00004720| 20 77 65 6c 6c 20 61 73 | 20 74 68 65 20 6d 65 6e | well as| the men|
|00004730| 75 73 20 61 6e 64 20 74 | 68 65 20 61 62 6f 75 74 |us and t|he about|
|00004740| 20 64 69 61 6c 6f 67 20 | 69 74 65 6d 73 20 74 6f | dialog |items to|
|00004750| 20 63 72 65 61 74 65 20 | 61 20 73 74 61 6e 64 0d | create |a stand.|
|00004760| 5c 20 61 6c 6f 6e 65 20 | 61 70 70 6c 69 63 61 74 |\ alone |applicat|
|00004770| 69 6f 6e 2e 0d 0d 3a 20 | 2e 54 45 4c 4c 20 20 5c |ion...: |.TELL \|
|00004780| 20 69 6e 74 65 72 61 63 | 74 69 76 65 20 70 72 69 | interac|tive pri|
|00004790| 6e 74 69 6e 67 20 75 74 | 69 6c 69 74 79 0d 20 20 |nting ut|ility. |
|000047a0| 20 20 70 61 67 65 0d 20 | 20 20 20 2e 22 20 20 20 | page. | ." |
|000047b0| 54 79 70 65 20 d2 43 61 | 6c 63 d3 20 74 6f 20 65 |Type .Ca|lc. to e|
|000047c0| 6e 74 65 72 20 74 68 65 | 20 63 61 6c 63 75 6c 61 |nter the| calcula|
|000047d0| 74 6f 72 20 70 72 6f 67 | 72 61 6d 2e 22 20 63 72 |tor prog|ram." cr|
|000047e0| 0d 20 20 20 20 2e 22 20 | 20 54 68 65 6e 20 70 72 |. ." | Then pr|
|000047f0| 65 73 73 20 d2 3f d3 20 | 66 6f 72 20 68 65 6c 70 |ess .?. |for help|
|00004800| 20 6f 72 20 d4 74 61 62 | d5 20 74 6f 20 65 78 69 | or .tab|. to exi|
|00004810| 74 2e 22 20 63 72 20 3b | 0d 2e 74 65 6c 6c 20 66 |t." cr ;|..tell f|
|00004820| 6f 72 67 65 74 20 2e 74 | 65 6c 6c 0d 0d 2d 31 20 |orget .t|ell..-1 |
|00004830| 32 38 20 2b 6d 64 20 21 | 20 20 28 20 72 65 73 74 |28 +md !| ( rest|
|00004840| 6f 72 65 20 65 63 68 6f | 20 29 0d 00 00 00 00 00 |ore echo| )......|
|00004850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004880| 00 00 01 00 00 00 01 e4 | 00 00 00 e4 00 00 00 5a |........|.......Z|
|00004890| 25 dc 49 e1 b2 24 f2 b6 | 7d ed 8f d9 48 a3 4e 42 |%.I..$..|}...H.NB|
|000048a0| 32 eb c9 e9 26 f2 86 61 | 6e 9d ab fc 85 91 73 2d |2...&..a|n.....s-|
|000048b0| 0a 43 61 6c 63 75 6c 61 | 74 6f 72 01 02 00 00 00 |.Calcula|tor.....|
|000048c0| 50 61 72 74 53 49 54 78 | 00 00 00 00 00 00 00 00 |PartSITx|........|
|000048d0| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|000048e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000048f0| 00 00 a9 80 1c 52 00 00 | 00 00 00 00 02 3e ec c3 |.....R..|.....>..|
|00004900| b2 4f 68 71 69 af 3e 22 | 99 84 43 e5 34 54 95 ff |.Ohqi.>"|..C.4T..|
|00004910| 42 9e 91 31 38 f4 39 11 | 60 5a 88 a1 62 22 86 ac |B..18.9.|`Z..b"..|
|00004920| 51 b7 7c 89 b1 1a ff 8d | a4 65 80 a2 32 86 d8 ca |Q.|.....|.e..2...|
|00004930| 0e 20 ec 31 44 da 86 45 | 5a 0e 2a 8e 22 8b bb b5 |. .1D..E|Z.*."...|
|00004940| d2 e2 42 4d 37 a0 40 dc | 0a 85 30 45 16 38 30 63 |..BM7.@.|..0E.80c|
|00004950| 18 82 aa b2 0a 62 79 82 | 4a 4e 8f 69 3b cf 03 2c |.....by.|JN.i;..,|
|00004960| 9d ca ab 9d ec 60 e4 9d | 79 ec c3 9e 29 10 39 ec |.....`..|y...).9.|
|00004970| c0 21 05 47 d1 9c 4d 13 | 1e 3f 51 36 9c c1 52 65 |.!.G..M.|.?Q6..Re|
|00004980| 00 00 00 40 00 09 06 4d | 6f 6e 61 63 6f 00 00 00 |...@...M|onaco...|
|00004990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000049c0| 00 00 00 00 00 00 00 04 | 00 06 00 08 00 00 00 94 |........|........|
|000049d0| 00 00 00 d5 00 00 27 95 | 00 00 27 a0 00 00 00 00 |......'.|..'.....|
|000049e0| 00 01 00 40 00 00 ff ff | 00 00 00 00 ff ff ff ff |...@....|........|
|000049f0| ff ff ff ff 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a00| ff ff ff ff ff ff 00 00 | 00 00 00 00 ff ff ff ff |........|........|
|00004a10| 00 00 00 00 00 00 00 00 | ff ff ff ff ff ff 00 00 |........|........|
|00004a20| 00 00 00 00 00 00 00 00 | 00 00 00 28 00 04 01 50 |........|...(...P|
|00004a30| 01 e9 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004a60| 00 00 00 00 00 00 01 00 | 00 00 01 e4 00 00 00 e4 |........|........|
|00004a70| 00 00 00 5a 00 09 99 74 | 0d 98 00 00 00 1c 00 5a |...Z...t|.......Z|
|00004a80| 00 02 45 46 4e 54 00 00 | 00 1a 45 54 41 42 00 00 |..EFNT..|..ETAB..|
|00004a90| 00 26 45 50 4f 53 00 00 | 00 32 03 eb ff ff 00 00 |.&EPOS..|.2......|
|00004aa0| 00 00 00 00 00 00 03 ec | ff ff 00 00 00 44 00 00 |........|.....D..|
|00004ab0| 00 00 03 ed ff ff 00 00 | 00 4c 00 00 00 00 00 00 |........|.L......|
|00004ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+